0

使用soap ui 触发以下soap 请求时会返回有效响应。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v11="https://bingads.microsoft.com/CampaignManagement/v11">
   <soapenv:Header>
      <v11:DeveloperToken>DeveloperToken</v11:DeveloperToken>
      <v11:CustomerId>CustomerId</v11:CustomerId>
      <v11:CustomerAccountId>AccountId</v11:CustomerAccountId>
      <v11:AuthenticationToken>Auth Token</v11:AuthenticationToken>
   </soapenv:Header>
   <soapenv:Body>
      <v11:GetGeoLocationsFileUrlRequest>
         <!--Optional:-->
         <v11:Version>2.0</v11:Version>
         <!--Optional:-->
         <v11:LanguageLocale>en</v11:LanguageLocale>
      </v11:GetGeoLocationsFileUrlRequest>
   </soapenv:Body>
</soapenv:Envelope>

但是,当我尝试通过在 Bing Ads API 中填充详细信息来触发相同的请求时,我看到“身份验证令牌已过期。请续订或获取新令牌。” 下面是我正在使用的代码 -

    var getGeoLocationsFileUrlRequest = new GetGeoLocationsFileUrlRequest(null, "Auth Token", "Account ID", "Customer ID", "Developer Token", null, null, "2.0", "en");

    CampaignManagementServiceClient client = new CampaignManagementServiceClient();

    var getGeoLocationsFileUrlResponse = client.GetGeoLocationsFileUrl(getGeoLocationsFileUrlRequest);
4

1 回答 1

1

访问令牌持续长达一个小时,因此您需要通过Authorization Code Grant Flow获取新的访问和刷新令牌。如果它在这里有帮助,还有一个通过 ServiceClient 的 GetGeoLocationsFileUrl C# 示例。

于 2018-05-04T19:59:21.460 回答