GetKeywordLocations 服务操作 - Ad Insight

获取搜索指定关键字的用户的地理位置。

注意

自 2023 年 8 月 21 日起,已弃用 GetKeywordLocations 服务操作。 了解详细信息

请求元素

GetKeywordLocationsRequest 对象定义服务操作请求的正文标头元素。 元素的顺序必须与 请求 SOAP 中所示的顺序相同。

注意

除非下面另有说明,否则需要所有请求元素。

请求正文元素

元素 说明 数据类型
设备 要获取其地理位置信息的设备数组。

支持的设备类型包括:计算机、非智能手机、智能手机、平板电脑。 默认值为“计算机”。

响应仅包含你指定的设备类型的关键字 (keyword) 位置数据(如果可用)。
字符串 数组
关键字 要获取其地理位置信息的关键字数组。

数据还会按 设备 类型进行细分。 数组最多可以包含 1,000 个关键字,每个关键字 (keyword) 最多可以包含 100 个字符。
字符串 数组
语言 编写关键字时使用的语言。

有关可能的值,请参阅 广告语言
string
级别 要聚合地理位置数据的级别。 以下是可能的值:

0 - 国家/地区

1 - 州/省

2 - 大都市区

3 - 城市

默认值为 1 (省/自治区/直辖市/省) 。
int
MaxLocations 要返回的最大位置数。 最多可以请求 10 个位置。

默认值为 10。
int
ParentCountry 搜索的来源国家/地区。

有关可能的值,请参阅 地理位置代码

默认值为 US。
string
PublisherCountry 要用作位置数据源的国家/地区的国家/地区代码。

指定的国家/地区必须支持 Language 元素中指定的 语言

有关可能的值,请参阅 广告语言
string

请求标头元素

元素 说明 数据类型
AuthenticationToken OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。

有关详细信息,请参阅 使用 OAuth 进行身份验证
string
CustomerAccountId 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。

有关详细信息,请参阅 获取帐户和客户 ID
string
CustomerId 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。

有关详细信息,请参阅 获取帐户和客户 ID
string
DeveloperToken 用于访问必应广告 API 的开发人员令牌。

有关详细信息,请参阅 获取开发人员令牌
string
Password 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 string
UserName 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 string

响应元素

GetKeywordLocationsResponse 对象定义服务操作响应的正文标头元素。 元素的返回顺序与 响应 SOAP 中所示的顺序相同。

响应正文元素

元素 说明 数据类型
KeywordLocationResult KeywordLocationResult 数据对象的数组。 项的顺序直接与请求中指定的关键字相对应。 如果没有位置数据可用于关键字 (keyword) ,关键字 (keyword) 将包含在列表中,但相应 KeywordLocationResult 对象的 KeywordLocations 元素将为 null。

每个 KeywordLocationResult 数据对象都包含 KeywordLocation 的数组。 数组包含请求中指定的每个设备的项。 每个 KeywordLocation 都包含地理位置和地理位置用户搜索指定关键字 (keyword) 的时间百分比。
KeywordLocationResult 数组

响应标头元素

元素 说明 数据类型
跟踪 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">GetKeywordLocations</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>
    <GetKeywordLocationsRequest xmlns="https://bingads.microsoft.com/AdInsight/v13">
      <Keywords i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:string>ValueHere</a1:string>
      </Keywords>
      <Language i:nil="false">ValueHere</Language>
      <PublisherCountry i:nil="false">ValueHere</PublisherCountry>
      <Device i:nil="false" xmlns:a1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <a1:string>ValueHere</a1:string>
      </Device>
      <Level i:nil="false">ValueHere</Level>
      <ParentCountry i:nil="false">ValueHere</ParentCountry>
      <MaxLocations i:nil="false">ValueHere</MaxLocations>
    </GetKeywordLocationsRequest>
  </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>
    <GetKeywordLocationsResponse xmlns="https://bingads.microsoft.com/AdInsight/v13">
      <KeywordLocationResult d4p1:nil="false" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">
        <KeywordLocationResult>
          <Keyword d4p1:nil="false">ValueHere</Keyword>
          <KeywordLocations d4p1:nil="false">
            <KeywordLocation>
              <Device d4p1:nil="false">ValueHere</Device>
              <Location d4p1:nil="false">ValueHere</Location>
              <Percentage>ValueHere</Percentage>
            </KeywordLocation>
          </KeywordLocations>
        </KeywordLocationResult>
      </KeywordLocationResult>
    </GetKeywordLocationsResponse>
  </s:Body>
</s:Envelope>

代码语法

示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例

public async Task<GetKeywordLocationsResponse> GetKeywordLocationsAsync(
	IList<string> keywords,
	string language,
	string publisherCountry,
	IList<string> device,
	int? level,
	string parentCountry,
	int? maxLocations)
{
	var request = new GetKeywordLocationsRequest
	{
		Keywords = keywords,
		Language = language,
		PublisherCountry = publisherCountry,
		Device = device,
		Level = level,
		ParentCountry = parentCountry,
		MaxLocations = maxLocations
	};

	return (await AdInsightService.CallAsync((s, r) => s.GetKeywordLocationsAsync(r), request));
}
static GetKeywordLocationsResponse getKeywordLocations(
	ArrayOfstring keywords,
	java.lang.String language,
	java.lang.String publisherCountry,
	ArrayOfstring device,
	int level,
	java.lang.String parentCountry,
	int maxLocations) throws RemoteException, Exception
{
	GetKeywordLocationsRequest request = new GetKeywordLocationsRequest();

	request.setKeywords(keywords);
	request.setLanguage(language);
	request.setPublisherCountry(publisherCountry);
	request.setDevice(device);
	request.setLevel(level);
	request.setParentCountry(parentCountry);
	request.setMaxLocations(maxLocations);

	return AdInsightService.getService().getKeywordLocations(request);
}
static function GetKeywordLocations(
	$keywords,
	$language,
	$publisherCountry,
	$device,
	$level,
	$parentCountry,
	$maxLocations)
{

	$GLOBALS['Proxy'] = $GLOBALS['AdInsightProxy'];

	$request = new GetKeywordLocationsRequest();

	$request->Keywords = $keywords;
	$request->Language = $language;
	$request->PublisherCountry = $publisherCountry;
	$request->Device = $device;
	$request->Level = $level;
	$request->ParentCountry = $parentCountry;
	$request->MaxLocations = $maxLocations;

	return $GLOBALS['AdInsightProxy']->GetService()->GetKeywordLocations($request);
}
response=adinsight_service.GetKeywordLocations(
	Keywords=Keywords,
	Language=Language,
	PublisherCountry=PublisherCountry,
	Device=Device,
	Level=Level,
	ParentCountry=ParentCountry,
	MaxLocations=MaxLocations)

要求

服务: AdInsightService.svc v13
命名空间: https://bingads.microsoft.com/AdInsight/v13

请求 URL

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

请求元素

GetKeywordLocationsRequest 对象定义服务操作请求的正文标头元素。

注意

除非下面另有说明,否则需要所有请求元素。

请求正文元素

元素 说明 数据类型
设备 要获取其地理位置信息的设备数组。

支持的设备类型包括:计算机、非智能手机、智能手机、平板电脑。 默认值为“计算机”。

响应仅包含你指定的设备类型的关键字 (keyword) 位置数据(如果可用)。
字符串 数组
关键字 要获取其地理位置信息的关键字数组。

数据还会按 设备 类型进行细分。 数组最多可以包含 1,000 个关键字,每个关键字 (keyword) 最多可以包含 100 个字符。
字符串 数组
语言 编写关键字时使用的语言。

有关可能的值,请参阅 广告语言
string
级别 要聚合地理位置数据的级别。 以下是可能的值:

0 - 国家/地区

1 - 州/省

2 - 大都市区

3 - 城市

默认值为 1 (省/自治区/直辖市/省) 。
int
MaxLocations 要返回的最大位置数。 最多可以请求 10 个位置。

默认值为 10。
int
ParentCountry 搜索的来源国家/地区。

有关可能的值,请参阅 地理位置代码

默认值为 US。
string
PublisherCountry 要用作位置数据源的国家/地区的国家/地区代码。

指定的国家/地区必须支持 Language 元素中指定的 语言

有关可能的值,请参阅 广告语言
string

请求标头元素

元素 说明 数据类型
Authorization OAuth 访问令牌,表示有权Microsoft广告帐户的用户的凭据。 请确保令牌的前缀为“持有者”,这是正确身份验证所必需的。

有关详细信息,请参阅 使用 OAuth 进行身份验证
string
CustomerAccountId 拥有或与请求中的实体关联的广告帐户的标识符。 如果需要这两个元素,此标头元素必须与 AccountId 正文元素具有相同的值。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。

有关详细信息,请参阅 获取帐户和客户 ID
string
CustomerId 用户正在访问或操作的客户) 经理帐户 (标识符。 用户可以访问多个经理帐户。 此元素是大多数服务操作所必需的,作为最佳做法,应始终设置它。

有关详细信息,请参阅 获取帐户和客户 ID
string
DeveloperToken 用于访问必应广告 API 的开发人员令牌。

有关详细信息,请参阅 获取开发人员令牌
string
Password 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 string
UserName 此元素保留供内部使用,将从 API 的未来版本中删除。 必须使用 AuthenticationToken 元素来设置用户凭据。 string

响应元素

GetKeywordLocationsResponse 对象定义服务操作响应的正文标头元素。 元素的返回顺序与 响应 JSON 中所示的顺序相同。

响应正文元素

元素 说明 数据类型
KeywordLocationResult KeywordLocationResult 数据对象的数组。 项的顺序直接与请求中指定的关键字相对应。 如果没有位置数据可用于关键字 (keyword) ,关键字 (keyword) 将包含在列表中,但相应 KeywordLocationResult 对象的 KeywordLocations 元素将为 null。

每个 KeywordLocationResult 数据对象都包含 KeywordLocation 的数组。 数组包含请求中指定的每个设备的项。 每个 KeywordLocation 都包含地理位置和地理位置用户搜索指定关键字 (keyword) 的时间百分比。
KeywordLocationResult 数组

响应标头元素

元素 说明 数据类型
跟踪 ID 包含 API 调用详细信息的日志条目的标识符。 string

请求 JSON

此模板由显示 JSON 请求的 正文标头 元素的工具生成。 有关可用于此服务操作的支持类型,请参阅上面的 请求正文元素 参考。

{
  "Keywords": [
    "ValueHere"
  ],
  "Language": "ValueHere",
  "PublisherCountry": "ValueHere",
  "Device": [
    "ValueHere"
  ],
  "Level": IntValueHere,
  "ParentCountry": "ValueHere",
  "MaxLocations": IntValueHere
}

响应 JSON

此模板由一个工具生成,用于显示 JSON 响应的 正文标头 元素。

{
  "KeywordLocationResult": [
    {
      "Keyword": "ValueHere",
      "KeywordLocations": [
        {
          "Device": "ValueHere",
          "Location": "ValueHere",
          "Percentage": DoubleValueHere
        }
      ]
    }
  ]
}

代码语法

若要通过 SDK 调用 REST API,需要将 SDK 升级到特定版本并配置系统参数。示例语法可用于 必应广告 SDK。 有关更多示例,请参阅 必应广告 API 代码示例

public async Task<GetKeywordLocationsResponse> GetKeywordLocationsAsync(
	IList<string> keywords,
	string language,
	string publisherCountry,
	IList<string> device,
	int? level,
	string parentCountry,
	int? maxLocations)
{
	var request = new GetKeywordLocationsRequest
	{
		Keywords = keywords,
		Language = language,
		PublisherCountry = publisherCountry,
		Device = device,
		Level = level,
		ParentCountry = parentCountry,
		MaxLocations = maxLocations
	};

	return (await AdInsightService.CallAsync((s, r) => s.GetKeywordLocationsAsync(r), request));
}
static GetKeywordLocationsResponse getKeywordLocations(
	ArrayOfstring keywords,
	java.lang.String language,
	java.lang.String publisherCountry,
	ArrayOfstring device,
	int level,
	java.lang.String parentCountry,
	int maxLocations) throws RemoteException, Exception
{
	GetKeywordLocationsRequest request = new GetKeywordLocationsRequest();

	request.setKeywords(keywords);
	request.setLanguage(language);
	request.setPublisherCountry(publisherCountry);
	request.setDevice(device);
	request.setLevel(level);
	request.setParentCountry(parentCountry);
	request.setMaxLocations(maxLocations);

	return AdInsightService.getService().getKeywordLocations(request);
}
static function GetKeywordLocations(
	$keywords,
	$language,
	$publisherCountry,
	$device,
	$level,
	$parentCountry,
	$maxLocations)
{

	$GLOBALS['Proxy'] = $GLOBALS['AdInsightProxy'];

	$request = new GetKeywordLocationsRequest();

	$request->Keywords = $keywords;
	$request->Language = $language;
	$request->PublisherCountry = $publisherCountry;
	$request->Device = $device;
	$request->Level = $level;
	$request->ParentCountry = $parentCountry;
	$request->MaxLocations = $maxLocations;

	return $GLOBALS['AdInsightProxy']->GetService()->GetKeywordLocations($request);
}
response=adinsight_service.GetKeywordLocations(
	Keywords=Keywords,
	Language=Language,
	PublisherCountry=PublisherCountry,
	Device=Device,
	Level=Level,
	ParentCountry=ParentCountry,
	MaxLocations=MaxLocations)