OAuth 桌面和 Web 应用流程

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

创建 OAuth 2.0 凭据

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

  2. 记下客户端 ID客户端密钥,然后返回本页。

设置客户端库

  1. 在终端中,运行 GenerateUserCredentials 示例。出现提示时,输入 OAuth 2.0 客户端 ID 和客户端密钥。

    dotnet run GenerateUserCredentials.csproj
    
  2. 以下代码示例会在浏览器中自动打开网址。如果您未登录浏览器会话,网页会提示您登录 Google 账号。如果您已登录,系统会跳过登录提示,并将您重定向到一个网址,您必须在该网址中授权该应用代表您访问您的 Google Ads 账号。

    使用您用于访问 Google Ads 的 Google 账号登录。通常,这是 Google Ads 经理账号的登录电子邮件地址,其中包含您需要在其账号层次结构下管理的所有账号。点击 OAuth 2.0 同意屏幕上的继续

    OAuth 2.0 权限请求页面

    系统会将您转到一个页面,其中会显示一条消息,指明授权已成功。

    Your refresh token has been fetched. Check the
    console output for further instructions.
  3. 返回运行代码示例的控制台。您会看到代码示例已完成,并会显示您的刷新令牌和一些说明,后面是您需要遵循的配置客户端库的说明:

    Copy the following content into your App.config file.
    
    <add key = 'OAuth2Mode' value = 'APPLICATION' />
    <add key = 'OAuth2ClientId' value = '******' />
    <add key = 'OAuth2ClientSecret' value = '******' />
    <add key = 'OAuth2RefreshToken' value = '******' />
    

    请务必在 App.config 文件中设置 LOGIN_CUSTOMER_ID 标头。如需了解详情,请参阅 配置指南

    <add key = 'LoginCustomerId' value = 'INSERT_LOGIN_CUSTOMER_ID_HERE' />
    

    如需了解其他配置选项,请参阅配置指南

为交互式应用生成 OAuth2 凭据

如果您不事先知道要向哪个 Google Ads 账号发出 API 调用,则可以在运行时使用会话中已登录用户的凭据来发现该账号。如需查看示例,请参阅 AuthenticateInAspNetCoreApplication,其中介绍了如何对当前登录的用户进行身份验证,以及如何在运行时获取 OAuth2 凭据。