繁体   English   中英

Google Ads API:使用服务帐号访问

[英]Google Ads API: Access with service account

我正在尝试使用服务帐户连接到 google ads api。 对于分析,有一篇名为Hello Analytics API: Java quickstart for service accounts的好文章,它解释了如何设置。 对于 Google 广告,我在网上找不到任何文档。

所以我的两个问题是:

  1. 是否可以使用服务帐户访问 Google Ads API?
  2. 如果是这样,是否有类似 Hello Ads API:服务帐户的 Java 快速入门页面,其中包含有关如何使用服务帐户连接到 api 的信息?

更新 2/10

我成功通过了身份验证。 尝试从 API 获取数据时确实出现错误。

curl.exe --request POST "https://googleads.googleapis.com/v5/customers/******/googleAds:searchStream"
--header "Content-Type: application/json" 
--header "Authorization: Bearer ******" 
--header "developer-token: ******" 
--data "{'query': 'SELECT * FROM campaign WHERE segments.date DURING YESTERDAY'}"

[{
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED",
    "details": [
      {
        "@type": "type.googleapis.com/google.ads.googleads.v5.errors.GoogleAdsFailure",
        "errors": [
          {
            "errorCode": {
              "authenticationError": "NOT_ADS_USER"
            },
            "message": "User in the cookie is not a valid Ads user."
          }
        ]
      }
    ]
  }
}
]

谷歌文档说这个错误是因为该帐户未与谷歌广告帐户相关联( https://developers.google.com/google-ads/api/docs/best-practices/common-errors#not_ads_user )。 请求正在由 api 处理,我知道这是因为请求在 google ads api 控制台中被计为错误。

在 Google ads Api 的与此 API 兼容的凭据中列出了我的服务帐户。 我对这个错误有点困惑。 据我所知,服务帐户与谷歌广告帐户相关联。

根据Google Ads API 服务帐户的警告:

注意:目前并非我们所有的客户端库都支持服务帐户。 如果您自己实现 OAuth2 服务帐户流程,则仍然可以使用服务帐户。


关于2个问题:
  1. 是的,可以使用服务帐户访问 Ads API(仅使用 Python 和 .NET)
  2. Google Ads API 建议使用服务帐户流程,但Java 尚不支持该流程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM