GetKeywordOpportunities 服务操作 - Ad Insight
获取与指定广告组相关的关键字 (keyword) 建议的列表。 关键字 (keyword) 建议还包括建议的出价值。
请求元素
GetKeywordOpportunitiesRequest 对象定义服务操作请求的正文和标头元素。 元素的顺序必须与 请求 SOAP 中所示的顺序相同。
注意
除非下面另有说明,否则需要所有请求元素。
请求正文元素
元素 | 说明 | 数据类型 |
---|---|---|
AdGroupId | 要为其获取关键字 (keyword) 建议的广告组的标识符。 以下限制适用于指定的广告组: - 其语言必须设置为英语。 - 其分发介质必须包含搜索。 - 它应包含关键字和广告。 仅当广告组包含一个或多个广告和关键字时,该操作才会建议关键字:广告组包含的关键字和广告越多,建议的关键字集就越丰富。 如果 AdGroupId 为零或空,则操作将返回指定市场活动的所有关键字 (keyword) 机会。 |
long |
CampaignId | 拥有指定广告组的市场活动的标识符。 如果 CampaignId 元素为 nil 或空,则 AdGroupId 也必须为 nil 或空,并且该操作将返回帐户的所有关键字 (keyword) 机会。 |
long |
OpportunityType | 确定所需的关键字 (keyword) 机会的类型。 可以包含多个值作为标志。 如何指定多个标志取决于所使用的编程语言。 例如,C# 将这些值视为标志值,Java 将它们视为字符串数组。 SOAP 应包含一个字符串,其中包含以空格分隔的值列表, <OpportunityType>BroadMatch CampaignContext</OpportunityType> 例如 。 |
KeywordOpportunityType |
请求标头元素
元素 | 说明 | 数据类型 |
---|---|---|
AuthenticationToken | OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。 有关详细信息,请参阅 使用 OAuth 进行身份验证。 |
string |
CustomerAccountId | 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
CustomerId | 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
DeveloperToken | 用于访问必应广告 API 的开发人员令牌。 有关详细信息,请参阅 获取开发人员令牌。 |
string |
Password | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
UserName | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
响应元素
GetKeywordOpportunitiesResponse 对象定义服务操作响应的正文和标头元素。 元素的返回顺序与 响应 SOAP 中所示的顺序相同。
响应正文元素
元素 | 说明 | 数据类型 |
---|---|---|
机会 |
KeywordOpportunity 数据对象的列表,用于标识建议的关键字 (keyword) 和出价值。 如果没有建议,列表将为空,如果广告组不包含现有广告和关键字,则可能会出现此情况。 目前最多可以返回 1,000 个列表项,但限制可能会更改。 |
KeywordOpportunity 数组 |
响应标头元素
元素 | 说明 | 数据类型 |
---|---|---|
跟踪 ID | 包含 API 调用详细信息的日志条目的标识符。 | string |
请求 SOAP
此模板由一个工具生成,用于显示 SOAP 请求的正文和标头元素的顺序。 有关可用于此服务操作的支持类型,请参阅上面的 请求正文元素 参考。
<s:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/AdInsight/v13">
<Action mustUnderstand="1">GetKeywordOpportunities</Action>
<AuthenticationToken i:nil="false">ValueHere</AuthenticationToken>
<CustomerAccountId i:nil="false">ValueHere</CustomerAccountId>
<CustomerId i:nil="false">ValueHere</CustomerId>
<DeveloperToken i:nil="false">ValueHere</DeveloperToken>
</s:Header>
<s:Body>
<GetKeywordOpportunitiesRequest xmlns="https://bingads.microsoft.com/AdInsight/v13">
<AdGroupId i:nil="false">ValueHere</AdGroupId>
<CampaignId i:nil="false">ValueHere</CampaignId>
<OpportunityType>ValueHere</OpportunityType>
</GetKeywordOpportunitiesRequest>
</s:Body>
</s:Envelope>
响应 SOAP
此模板由一个工具生成,用于显示 SOAP 响应的 正文 和 标头 元素的顺序。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header xmlns="https://bingads.microsoft.com/AdInsight/v13">
<TrackingId d3p1:nil="false" xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance">ValueHere</TrackingId>
</s:Header>
<s:Body>
<GetKeywordOpportunitiesResponse xmlns="https://bingads.microsoft.com/AdInsight/v13">
<Opportunities d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
<KeywordOpportunity d4p1:type="-- derived type specified here with the appropriate prefix --">
<AdGroupId>ValueHere</AdGroupId>
<AdGroupName d4p1:nil="false">ValueHere</AdGroupName>
<CampaignId>ValueHere</CampaignId>
<CampaignName d4p1:nil="false">ValueHere</CampaignName>
<Competition>ValueHere</Competition>
<EstimatedIncreaseInClicks>ValueHere</EstimatedIncreaseInClicks>
<EstimatedIncreaseInCost>ValueHere</EstimatedIncreaseInCost>
<EstimatedIncreaseInImpressions>ValueHere</EstimatedIncreaseInImpressions>
<MatchType>ValueHere</MatchType>
<MonthlySearches>ValueHere</MonthlySearches>
<SuggestedBid>ValueHere</SuggestedBid>
<SuggestedKeyword d4p1:nil="false">ValueHere</SuggestedKeyword>
<!--These fields are applicable if the derived type attribute is set to BroadMatchKeywordOpportunity-->
<AverageCPC>ValueHere</AverageCPC>
<AverageCTR>ValueHere</AverageCTR>
<ClickShare>ValueHere</ClickShare>
<ImpressionShare>ValueHere</ImpressionShare>
<ReferenceKeywordBid>ValueHere</ReferenceKeywordBid>
<ReferenceKeywordId>ValueHere</ReferenceKeywordId>
<ReferenceKeywordMatchType>ValueHere</ReferenceKeywordMatchType>
<SearchQueryKPIs d4p1:nil="false">
<BroadMatchSearchQueryKPI>
<AverageCTR>ValueHere</AverageCTR>
<Clicks>ValueHere</Clicks>
<Impressions>ValueHere</Impressions>
<SRPV>ValueHere</SRPV>
<SearchQuery d4p1:nil="false">ValueHere</SearchQuery>
</BroadMatchSearchQueryKPI>
</SearchQueryKPIs>
</KeywordOpportunity>
</Opportunities>
</GetKeywordOpportunitiesResponse>
</s:Body>
</s:Envelope>
代码语法
示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例 。
public async Task<GetKeywordOpportunitiesResponse> GetKeywordOpportunitiesAsync(
long? adGroupId,
long? campaignId,
KeywordOpportunityType opportunityType)
{
var request = new GetKeywordOpportunitiesRequest
{
AdGroupId = adGroupId,
CampaignId = campaignId,
OpportunityType = opportunityType
};
return (await AdInsightService.CallAsync((s, r) => s.GetKeywordOpportunitiesAsync(r), request));
}
static GetKeywordOpportunitiesResponse getKeywordOpportunities(
java.lang.Long adGroupId,
java.lang.Long campaignId,
ArrayList<KeywordOpportunityType> opportunityType) throws RemoteException, Exception
{
GetKeywordOpportunitiesRequest request = new GetKeywordOpportunitiesRequest();
request.setAdGroupId(adGroupId);
request.setCampaignId(campaignId);
request.setOpportunityType(opportunityType);
return AdInsightService.getService().getKeywordOpportunities(request);
}
static function GetKeywordOpportunities(
$adGroupId,
$campaignId,
$opportunityType)
{
$GLOBALS['Proxy'] = $GLOBALS['AdInsightProxy'];
$request = new GetKeywordOpportunitiesRequest();
$request->AdGroupId = $adGroupId;
$request->CampaignId = $campaignId;
$request->OpportunityType = $opportunityType;
return $GLOBALS['AdInsightProxy']->GetService()->GetKeywordOpportunities($request);
}
response=adinsight_service.GetKeywordOpportunities(
AdGroupId=AdGroupId,
CampaignId=CampaignId,
OpportunityType=OpportunityType)
要求
服务: AdInsightService.svc v13
命名空间: https://bingads.microsoft.com/AdInsight/v13
请求 URL
请求元素
GetKeywordOpportunitiesRequest 对象定义服务操作请求的正文和标头元素。
注意
除非下面另有说明,否则需要所有请求元素。
请求正文元素
元素 | 说明 | 数据类型 |
---|---|---|
AdGroupId | 要为其获取关键字 (keyword) 建议的广告组的标识符。 以下限制适用于指定的广告组: - 其语言必须设置为英语。 - 其分发介质必须包含搜索。 - 它应包含关键字和广告。 仅当广告组包含一个或多个广告和关键字时,该操作才会建议关键字:广告组包含的关键字和广告越多,建议的关键字集就越丰富。 如果 AdGroupId 为零或空,则操作将返回指定市场活动的所有关键字 (keyword) 机会。 |
long |
CampaignId | 拥有指定广告组的市场活动的标识符。 如果 CampaignId 元素为 nil 或空,则 AdGroupId 也必须为 nil 或空,并且该操作将返回帐户的所有关键字 (keyword) 机会。 |
long |
OpportunityType | 确定所需的关键字 (keyword) 机会的类型。 可以包含多个值作为标志。 如何指定多个标志取决于所使用的编程语言。 例如,C# 将这些值视为标志值,Java 将它们视为字符串数组。 SOAP 应包含一个字符串,其中包含以空格分隔的值列表, <OpportunityType>BroadMatch CampaignContext</OpportunityType> 例如 。 |
KeywordOpportunityType |
请求标头元素
元素 | 说明 | 数据类型 |
---|---|---|
Authorization | OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。 请确保令牌的前缀为“持有者”,这是正确身份验证所必需的。 有关详细信息,请参阅 使用 OAuth 进行身份验证。 |
string |
CustomerAccountId | 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
CustomerId | 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。 有关详细信息,请参阅 获取帐户和客户 ID。 |
string |
DeveloperToken | 用于访问必应广告 API 的开发人员令牌。 有关详细信息,请参阅 获取开发人员令牌。 |
string |
Password | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
UserName | 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 | string |
响应元素
GetKeywordOpportunitiesResponse 对象定义服务操作响应的正文和标头元素。 元素的返回顺序与 响应 JSON 中所示的顺序相同。
响应正文元素
元素 | 说明 | 数据类型 |
---|---|---|
机会 |
KeywordOpportunity 数据对象的列表,用于标识建议的关键字 (keyword) 和出价值。 如果没有建议,列表将为空,如果广告组不包含现有广告和关键字,则可能会出现此情况。 目前最多可以返回 1,000 个列表项,但限制可能会更改。 |
KeywordOpportunity 数组 |
响应标头元素
元素 | 说明 | 数据类型 |
---|---|---|
跟踪 ID | 包含 API 调用详细信息的日志条目的标识符。 | string |
请求 JSON
此模板由显示 JSON 请求的 正文 和 标头 元素的工具生成。 有关可用于此服务操作的支持类型,请参阅上面的 请求正文元素 参考。
{
"AdGroupId": "LongValueHere",
"CampaignId": "LongValueHere",
"OpportunityType": "ValueHere"
}
响应 JSON
此模板由一个工具生成,用于显示 JSON 响应的 正文 和 标头 元素。
如果 KeywordOpportunity 的类型为 BroadMatchKeywordOpportunity,则以下示例适用。
{
"Opportunities": [
{
"AdGroupId": "LongValueHere",
"AdGroupName": "ValueHere",
"CampaignId": "LongValueHere",
"CampaignName": "ValueHere",
"Competition": DoubleValueHere,
"EstimatedIncreaseInClicks": DoubleValueHere,
"EstimatedIncreaseInCost": DoubleValueHere,
"EstimatedIncreaseInImpressions": "LongValueHere",
"MatchType": IntValueHere,
"MonthlySearches": "LongValueHere",
"SuggestedBid": DoubleValueHere,
"SuggestedKeyword": "ValueHere",
"Type": "BroadMatchKeywordOpportunity",
"AverageCPC": DoubleValueHere,
"AverageCTR": DoubleValueHere,
"ClickShare": DoubleValueHere,
"ImpressionShare": DoubleValueHere,
"ReferenceKeywordBid": DoubleValueHere,
"ReferenceKeywordId": "LongValueHere",
"ReferenceKeywordMatchType": IntValueHere,
"SearchQueryKPIs": [
{
"AverageCTR": DoubleValueHere,
"Clicks": DoubleValueHere,
"Impressions": "LongValueHere",
"SearchQuery": "ValueHere",
"SRPV": "LongValueHere"
}
]
}
]
}
代码语法
若要通过 SDK 调用 REST API,需要将 SDK 升级到特定版本并配置系统参数。示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例 。
public async Task<GetKeywordOpportunitiesResponse> GetKeywordOpportunitiesAsync(
long? adGroupId,
long? campaignId,
KeywordOpportunityType opportunityType)
{
var request = new GetKeywordOpportunitiesRequest
{
AdGroupId = adGroupId,
CampaignId = campaignId,
OpportunityType = opportunityType
};
return (await AdInsightService.CallAsync((s, r) => s.GetKeywordOpportunitiesAsync(r), request));
}
static GetKeywordOpportunitiesResponse getKeywordOpportunities(
java.lang.Long adGroupId,
java.lang.Long campaignId,
ArrayList<KeywordOpportunityType> opportunityType) throws RemoteException, Exception
{
GetKeywordOpportunitiesRequest request = new GetKeywordOpportunitiesRequest();
request.setAdGroupId(adGroupId);
request.setCampaignId(campaignId);
request.setOpportunityType(opportunityType);
return AdInsightService.getService().getKeywordOpportunities(request);
}
static function GetKeywordOpportunities(
$adGroupId,
$campaignId,
$opportunityType)
{
$GLOBALS['Proxy'] = $GLOBALS['AdInsightProxy'];
$request = new GetKeywordOpportunitiesRequest();
$request->AdGroupId = $adGroupId;
$request->CampaignId = $campaignId;
$request->OpportunityType = $opportunityType;
return $GLOBALS['AdInsightProxy']->GetService()->GetKeywordOpportunities($request);
}
response=adinsight_service.GetKeywordOpportunities(
AdGroupId=AdGroupId,
CampaignId=CampaignId,
OpportunityType=OpportunityType)