You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC应用如何通过Google Ads API访问客户广告账户数据?

ASP.NET Core MVC访问Google Ads客户账户数据的解决方案

核心结论

不需要你的应用拥有独立的Google Ads账户,也不需要每个客户提供API令牌。正确的方式是通过OAuth 2.0让客户授权你的应用访问他们的Google Ads账户,结合你已有的开发者令牌来调用API。

基于你已完成的工作,具体实现步骤:

  1. 扩展OAuth权限范围
    你当前的Google登录仅获取了基础用户权限,需要添加Google Ads API的核心权限范围 https://www.googleapis.com/auth/adwords,同时加上离线访问权限 offline_access(用于长期刷新令牌)。

    • 在Google Cloud控制台的OAuth consent screen中更新已授权的范围;
    • 在ASP.NET Core的Google登录配置里,指定这些额外的权限范围:
      services.AddAuthentication().AddGoogle(options =>
      {
          options.ClientId = "你的ClientId";
          options.ClientSecret = "你的ClientSecret";
          options.Scope.Add("https://www.googleapis.com/auth/adwords");
          options.Scope.Add("offline_access");
          options.AccessType = "offline";
      });
      
  2. 获取客户的授权凭据
    用户通过Google登录你的应用时,会被要求授权你的应用访问他们的Google Ads账户。授权成功后,你可以获取到Refresh Token(需确保配置了offline_access),将这个令牌和用户信息关联存储到数据库即可。

  3. 调用Google Ads API
    使用Google Ads API的C#客户端库,结合以下凭证发起请求:

    • 你的开发者令牌;
    • 应用的ClientId/ClientSecret;
    • 客户的Refresh Token;
    • 客户的Google Ads客户ID(可让用户手动输入,或通过API调用获取用户名下的所有客户ID列表)。

    示例代码:

    using Google.Ads.GoogleAds.Lib;
    using Google.Ads.GoogleAds.V15.Services;
    
    // 初始化配置
    var adsConfig = new GoogleAdsConfig
    {
        DeveloperToken = "你的开发者令牌",
        ClientId = "你的ClientId",
        ClientSecret = "你的ClientSecret",
        RefreshToken = "存储的客户Refresh Token",
        // 客户的Google Ads客户ID,去掉横杠,格式如123-456-7890写成1234567890
        LoginCustomerId = "客户的客户ID"
    };
    
    // 创建客户端并调用API
    var googleAdsClient = new GoogleAdsClient(adsConfig);
    var customerService = googleAdsClient.GetService(Services.V15.CustomerService);
    var customer = customerService.GetCustomer("customers/客户的客户ID");
    
    // 处理返回数据
    Console.WriteLine($"客户名称:{customer.DescriptiveName}");
    

关键说明

  • 开发者令牌是你作为API开发者的身份凭证,由Google颁发给你的开发主体,用于标识你的应用,并非访问特定账户的令牌;
  • 客户无需提供任何API令牌,仅需完成一次OAuth授权,你的应用就能长期通过Refresh Token获取访问权限;
  • 测试阶段可使用你准备的测试账户,完成授权流程后验证API调用是否正常。

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:00:18