google-ads-api - ClientLoginTokens 的替代方案

标签 google-ads-api

我正在开发 Google Adwords API,以升级我们的代码,以便从 v201302 迁移到 v201309。 任何人都可以建议我,我们应该使用什么代码来代替以下代码(因为 ClientLoginTokens 现已弃用)。

String clientLoginToken = new ClientLoginTokens.Builder()
                    .forApi(ClientLoginTokens.Api.ADWORDS)
                    .withEmailAndPassword(configurations.get("email"), configurations.get("password"))
                    .build()
                    .requestToken();

最佳答案

以下是我为使 OAuth2 正常工作而采取的步骤。 YMMV 当然...

第 1 步 - 使用 Google Console API 注册应用

  1. 使用上面的电子邮件地址和密码登录 Google
  2. 前往Google API Console 。您可能会被重定向到 Google Cloud Console
  3. 在“API 和身份验证”下,点击“同意屏幕”。至少填写“产品名称”和“电子邮件”。
  4. 在“API 和身份验证”下,点击“注册的应用”。
  5. 点击“注册应用程序”。填写详细信息,确保选择“ native ”作为平台。
  6. 在“OAuth 2.0 客户端 ID”下,记下“客户端 ID”和“客户端密码”值。

第 2 步 - 生成刷新 token

下一步是生成刷新 token 。这是一个生成一次使用多次的 token ,允许您的应用程序获取新的访问 token :

  1. 下载 GetRefreshToken.java
  2. 创建一个供 GoogleClientSecretsBuilder() 引用的 aps.properties 文件 .forApi(Api.ADWORDS) 调用。此 ads.properties 文件应包含两行:

    api.adwords.clientId=client-id-from-step1.6

    api.adwords.clientSecret=client-secret-from-step1.6

  3. 使用网络浏览器登录 Google AdWords MCC。

  4. 运行 GetRefreshToken.java 并按照说明进行操作,即将浏览器 URL 复制到浏览器中,输入返回到控制台的代码等。
  5. 您现在应该有一个刷新 token 。将此刷新 token 复制到您的 ads.properties 文件中,如下所示:

api.adwords.refreshToken=your-refresh-token

PS GetRefreshToken.java 有几个依赖项。如果您使用 Maven,那么它们在这里(相应地调整版本!):

    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-oauth2</artifactId>
        <version>v2-rev50-1.17.0-rc</version>
    </dependency>

    <dependency>
        <groupId>com.google.api-ads</groupId>
        <artifactId>adwords-axis</artifactId>
        <version>1.20.0</version>
    </dependency>

第 3 步 - 生成凭据

使用ads.properties中的refreshToken、clientId和clientSecret,您现在可以生成如下凭证:

Credential oAuth2Credential = new OfflineCredentials.Builder()
    .forApi(Api.ADWORDS)
    .fromFile()
    .build()
    .generateCredential();

第 4 步 - 获取 AdWords session

最后一步(如果您已经完成了这一步,向您致敬!)是使用您在第 1 步中创建的 CredentialoAuth2Credential 实例创建 AdWords session 3. 您可以通过在 ads.properties 文件中添加另外两项内容来实现此目的:

api.adwords.developerToken=developer-token-from-mcc

api.adwords.clientCustomerId=您想要访问的 adwords-account-client-id

然后使用如下方式启动 AdWords session :

AdWordsSession awSession =
                new AdWordsSession.Builder()
                .fromFile()
                .withOAuth2Credential(oAuth2Credential)
                .build();

第 5 步 - 喝杯咖啡,思考一下使用 OAuth2 访问 Google AdWords API 是多么容易

此步骤完全是可选的。

关于google-ads-api - ClientLoginTokens 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724730/

相关文章:

ruby-on-rails - Rails google-ads-ruby 设置

google-analytics - 如何在 google adwords 中查看有区别的转化计数?

javascript - Google AdWords AdGroup API 脚本中的多个标签名称

python - AdWords API TargetingIdeaPage 服务返回的数据格式是什么?

google-analytics - 尝试将网络媒体资源链接到 AdWords (Google Ads) 帐户时出现权限不足 (403)

google-analytics - Google Analytics 与 AdWords 转化

google-analytics - AdWords 使用 utm 参数而不是 gclid 自动标记

android - Google AdWords, "target CPI"对性能有何影响? (安卓应用)

php - AdWords API 获取费用

google-api - Google.Apis.AdExchangeSeller.v2.0