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

https://adinsight.api.bingads.microsoft.com/AdInsight/v13/KeywordOpportunities/Query

请求元素

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)