首页 文章

Analytics API v3 |错误401(无效凭据)仅在几个帐户上

提问于
浏览
2

我在营销机构工作,我在Google AppScripts中开发了一个小脚本,从客户的Google Analytics帐户中提取数据并将其格式化为Google幻灯片演示文稿 .

How it works:

我们的客户允许我们访问他们的Google Analytics(分析)视图,并使用Google Analytics(分析)API获取我们在主帐户上与我们共享的每个视图的ID,并使用这些ID向API发出请求 .

该脚本几乎适用于所有视图,但最近我遇到了一些Google Analytics帐户的问题 .

基本上我得到 401 response code ,尽管经理可以访问给定的属性 .

我用来向API发出请求的方法是 Analytics.Data.Ga.get ,结果如下:

[18-10-23 06:57:02:128 PDT] {totalsForAllResults={ga:users=0},  totalResults=0, 
columnHeaders=[{columnType=DIMENSION, dataType=STRING, name=ga:userGender}, 
{columnType=METRIC, dataType=INTEGER, name=ga:users}], 
profileInfo={profileName=Toutes les données du site Web, accountId=xxxxxx, 
profileId=xxxxxx, tableId=ga:xxxxxx,
webPropertyId=UA-xxxxxx-x, internalWebPropertyId=xxxxxx}, itemsPerPage=1000,
kind=analytics#gaData, query={end-date=2018-09-30, max-results=1000,
start-index=1, ids=ga:174758787, start-date=2018-07-01, metrics=[ga:users],
dimensions=ga:userGender}, containsSampledData=false,
id=https://www.googleapis.com/analytics/v3/data/ga?ids=ga:xxxxxx&dimensions=ga:userGender&metrics=ga:users&start-date=2018-07-01&end-date=2018-09-30, selfLink=https://www.googleapis.com/analytics/v3/data/ga?ids=ga:xxxxxx&dimensions=ga:userGender&metrics=ga:users&start-date=2018-07-01&end-date=2018-09-30}

当我转到那个链接“id”链接时,这是我得到的:

{"error":
    {
    "errors":[
      {
        "domain":"global",
        "reason":"required",
        "message":"Login Required",
        "locationType":"header",
        "location":"Authorization"
      }
    ],
    "code":401,
    "message":"Login Required"
    }
}

我收集的这与OAuth2协议有关,我从来不必担心,因为它通常由AppScripts自动处理 . 我几乎到处寻找自己解决问题的方法,但我似乎无法围绕OAuth 2协议,以及它在这种情况下的工作方式 .

我已经为我的脚本创建了凭据,因此我可以访问此项目的客户端ID和客户端密钥 .

我的假设是有问题的帐户的令牌已经过期,我需要以某种方式刷新它们并给它们正确的范围 . 我根本不知道该怎么做 .

如果有人能在这一个上启发我,我将非常感激:)

祝你今天愉快!!

1 回答

  • 0

    修复了问题,结果证明它与OAuth2协议无关 . Google Analytics针对这些帐户关闭了人口统计信息报告,这就是为什么我没有从我的查询中获得任何回复 .

    如果有人想知道,REST请求中的错误401是因为最后没有传递任何令牌或密钥(使用“?key = ...”或“access_token = ...”),所以就像一些匿名的人试过访问数据 .

    如果您想知道如何获取访问令牌,可以使用Query Explorer获取令牌 . 运行查询后,选择“在查询URI中包含当前access_token(将在约60分钟后过期)” .

    无论如何,这可以关闭 .

相关问题