Java 谷歌广告API:使用服务帐户访问

Java 谷歌广告API:使用服务帐户访问,java,google-api,coldfusion-2016,google-ads-api,Java,Google Api,Coldfusion 2016,Google Ads Api,我正在尝试使用服务帐户连接到google ads api。对于分析,有一篇名为的好文章解释了如何设置它。对于谷歌广告,我在网上找不到任何文档 所以我的两个问题是: 是否可以使用服务帐户访问Google Ads API 如果是这样,是否有类似Hello Ads API:Java quickstart for service accounts页面的内容,其中包含如何使用服务帐户连接到API的信息 更新2/10 我成功地通过了身份验证。我在尝试从API获取数据时确实遇到错误 curl.exe --re

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

所以我的两个问题是:

  • 是否可以使用服务帐户访问Google Ads API
  • 如果是这样,是否有类似Hello Ads API:Java quickstart for service accounts页面的内容,其中包含如何使用服务帐户连接到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."
              }
            ]
          }
        ]
      }
    }
    ]
    
    谷歌文档称此错误是因为该帐户与谷歌广告帐户()没有关联。请求正在被api处理,我知道这一点,因为请求在GoogleADSAPI控制台中被视为错误

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

    根据以下警告:

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


    关于这两个问题:
  • 是的,可以使用服务帐户访问ADSAPI(仅使用Python和.NET)
  • Google Ads API建议使用服务帐户流,但事实并非如此
  • 根据以下警告:

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


    关于这两个问题:
  • 是的,可以使用服务帐户访问ADSAPI(仅使用Python和.NET)
  • Google Ads API建议使用服务帐户流,但事实并非如此

  • 文档中哪里说谷歌广告支持服务账户?@DaImTo我找不到任何相关信息。因此,我的第一个问题是:是否可以使用服务帐户访问Google Ads API?您正在查看的Google Ads API文档在哪里?嗨,您解决过这个问题吗?我有一个相同的问题。@emvy03不幸的是没有。对于分析(它确实与coldfusion btw一起工作),我切换到nodeJS以与google API进行通信。主要原因是社区对此类问题提供了更好的支持。我使用cfexecute在coldfusion中运行nodejs代码。我认为adwords也可以这样做,但我还没有尝试过。文档中哪里说google Ads支持服务帐户?@DaImTo我找不到任何相关信息。因此,我的第一个问题是:是否可以使用服务帐户访问Google Ads API?您正在查看的Google Ads API文档在哪里?嗨,您解决过这个问题吗?我有一个相同的问题。@emvy03不幸的是没有。对于分析(它确实与coldfusion btw一起工作),我切换到nodeJS以与google API进行通信。主要原因是社区对此类问题提供了更好的支持。我使用cfexecute在coldfusion中运行nodejs代码。我认为adwords也可以这样做,但我还没有尝试过。您的两个链接都会导致服务不可用。您有有效的链接吗?GoogleAPI java客户端支持服务帐户,如果GoogleADSAPI支持,那么它就可以工作。另一方面,并不是所有的谷歌API都支持服务帐户,所以我不确定你的报价来自哪里。报价来自谷歌Ads API doc>OAuth>服务帐户,这是我提供的链接。我询问了其他人,并尝试使用其他网络访问该链接,我能够访问该链接。您的两个链接都导致服务不可用。您有有效的链接吗?GoogleAPI java客户端支持服务帐户,如果GoogleADSAPI支持,那么它就可以工作。另一方面,并不是所有的谷歌API都支持服务帐户,所以我不确定你的报价来自哪里。报价来自谷歌Ads API doc>OAuth>服务帐户,这是我提供的链接。我询问了其他人,并尝试使用不同的网络访问链接,我能够访问该链接。