OAuth 桌面和 Web 应用流程

本指南将向您介绍如何使用自己的凭据以及桌面流程网页流程设置 OAuth2 以进行 API 访问。

为单个账号生成 OAuth2 凭据

调用 Google Ads API 账号的最简便方法是:

  1. 将您要进行 API 调用的所有帐号关联到一个 Google Ads 经理帐号下。

  2. 使用 GenerateUserCredentials 示例,为有权访问经理帐号的用户生成 OAuth2 凭据。

  3. 使用 OAuth2 凭据调用您需要使用 Google Ads API 管理的所有帐号。

这些步骤只需执行一次,除非您撤消、删除 OAuth2 凭据或需要更改 OAuth2 凭据允许的范围。

第 1 步 - 创建 OAuth2 凭据

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

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

第 2 步 - 设置客户端库

  1. 在终端上运行 GenerateUserCredentials 示例,该示例会提示您输入 OAuth2 客户端 ID 和密钥。

    这是一个交互式示例,需要您提供输入

    dotnet run GenerateUserCredentials.csproj
    
  2. 该示例提示您提供 OAuth2 客户端 ID密钥。提供第 1 步中的详细信息。

  3. 该示例会自动在浏览器中打开一个网址。如果您未登录浏览器会话,网页会提示您登录 Google 帐号。如果您已登录,它将跳过登录提示,并将您重定向到一个网址,提示您授权应用以您的名义访问您的 Google Ads 帐号。

    同意屏幕

  4. 然后,系统会将您转到一个页面,其中显示一条消息表明授权成功。

    已提取您的刷新令牌。如需进一步的说明,请查看控制台输出。

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

    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 = '******' />
    
    Make sure you also set the LOGIN_CUSTOMER_ID header. See
    https://developers.google.com/google-ads/api/docs/client-libs/dotnet/configuration#google_ads_api_settings
    to learn more.
    
    <add key = 'LoginCustomerId' value = 'INSERT_LOGIN_CUSTOMER_ID_HERE' />
    
    See https://developers.google.com/google-ads/api/docs/client-libs/dotnet/configuration
    for alternate configuration options.
    

为交互式应用生成 OAuth2 凭据

如果您不知道要提前调用 API 的 Google Ads 帐号,可以在运行时使用会话中已登录用户的凭据发现该帐号。如需查看示例,请参阅 AuthenticateInAspNetCoreApplication,了解当前登录的用户已进行身份验证,并在运行时获取 OAuth2 凭据。