OAuth 桌面和 Web 应用流程

本指南将向您介绍如何使用您自己的凭据以及桌面流程网络流程设置 OAuth2 以进行 API 访问。除非您撤消、删除 OAuth2 凭据或需要更改 OAuth2 凭据允许的范围,否则只需执行一次这些步骤。

创建 OAuth2 凭据

  1. 按照相应步骤为 Google Ads API 配置 Google API 控制台项目

  2. 下载客户端的 JSON 文件,首先点击其下载 OAuth 客户端图标,然后点击下一个屏幕上的下载 JSON 按钮。

    将文件保存到主目录,这样您就有了本地文件 ~/client_secret_XXX.apps.googleusercontent.com.json(其中 XXX 是项目特有的值)。我们将在下一步中使用此文件来运行代码示例。

设置客户端库

  1. 在终端运行 GenerateUserCredentials 示例。使用命令行标志向其传递您在上一步中下载的 JSON 文件。

    使用 Gradle 从命令行运行

    ./gradlew --console=plain --quiet runExample \
      --example="authentication.GenerateUserCredentials \
      --oAuthClientFile ${HOME}/client_secret_XXX.apps.googleusercontent.com.json"
    
  2. 该示例会提示您访问一个网址,您需要向该网址授予 OAuth2 凭据以代表您访问 Google Ads 帐号。

    Paste this URL in your browser:
    https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=****...
    

    在无痕浏览器会话或无痕式窗口中访问该网址。 使用您访问 Google Ads 时所用的 Google 账号进行登录。在 OAuth2 同意屏幕上点击继续

    同意屏幕

  3. 您将转到一个页面,其中显示一条消息表明授权成功。

    已成功检索授权代码。

    如需了解详细说明,请查看 GenerateUserCredentials 的控制台输出。

  4. 返回您运行示例的控制台。您将看到该示例已完成,显示了您的刷新令牌和一些说明,后面是配置客户端库所需的属性:

    #Mon Apr 18 09:07:51 EDT 2022
    api.googleads.refreshToken=1/Yw.........................................
    api.googleads.clientId=...........-...............apps.googleusercontent.com
    api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
    api.googleads.clientSecret=........................
    
  5. 将日期注释 # 中的行复制到 ads.properties 文件中输出的末尾。

    INSERT_DEVELOPER_TOKEN_HERE 替换为您的开发者令牌。

    为最简单的设置,请将 ads.properties 文件放在您的主目录中。