【问题标题】:Google Analytics Reporting API - Get Activity with User IDGoogle Analytics Reporting API - 使用用户 ID 获取活动
【发布时间】:2019-04-03 07:43:01
【问题描述】:

我无法使用用户 ID 从 Google Analytics Reporting API (v4) 获取用户活动。

但是,客户端 ID(在不同的非用户 ID 视图中)有效。

我错过了什么吗?

--

对于客户 ID

我在我的 Google Analytics 网络界面中转到这里:

https://analytics.google.com/analytics/web/#/report/visitors-user-activity/a45743608w76484324p79062844/_u.date00=20190327&_u.date01=20190402&_r.userId=1142688158.1525244974

我按预期获得了用户活动详细信息:

--

我称之为:

POST https://analyticsreporting.googleapis.com/v4/userActivity:search?key={YOUR_API_KEY}

{
  "viewId": "79062844",
  "dateRange": {
     "startDate": "2019-03-27",
     "endDate": "2019-04-02"
  },
   "user": {
     "type": "CLIENT_ID",
     "userId": "1142688158.1525244974"
  }
}

我得到了预期的响应:

{
  "sessions": [
    …
  ],
  "totalRows": 14,
  "sampleRate": 1
}

--

对于用户 ID

我在我的 Google Analytics 网络界面中转到这里:

https://analytics.google.com/analytics/web/#/report/visitors-user-activity/a45743608w76484324p185098721/_u.date00=20190327&_u.date01=20190402&_r.userId=Not%20Logged%20In-

我按预期获得了用户活动详细信息:

--

我称之为:

POST https://analyticsreporting.googleapis.com/v4/userActivity:search?key={YOUR_API_KEY}

{
  "viewId": "185098721",
  "dateRange": {
     "startDate": "2019-03-27",
     "endDate": "2019-04-02"
  },
   "user": {
     "type": "USER_ID",
     "userId": "Not Logged In-"
  }
}

我得到一个错误

{
  "error": {
    "code": 400,
    "message": "USER_ID: Not Logged In- not found.",
    "status": "INVALID_ARGUMENT"
  }
}

--

我尝试了不同的 ID、不同的日期、将类型更改为 CLIENT_ID、对用户 ID 进行 URL 编码以及不带空格的用户 ID - 不开心。

【问题讨论】:

  • 为什么要发送 API 密钥,这是您应该发送访问令牌的私有数据。
  • 为了清晰起见,我添加了屏幕截图。
  • 好吧,你赢了,这看起来很奇怪。我向 Google 的团队发送了一封电子邮件,我不能保证你会在这里听到任何消息,但如果我这样做了,我会告诉你的。您可能还想提交错误报告issuetracker.google.com/issues?q=componentid:187400
  • 他们正在调查
  • 当前选项是 api 可能无法处理带有空格的用户 ID。他们可能会更新文档。如果我听到任何其他消息,我会告诉你。我会用你的问题 ping 他们

标签: google-analytics google-analytics-api google-analytics-userid


【解决方案1】:

看来这确实是其他几个人也遇到的错误。

可以在此处 +1 并关注此错误:
https://issuetracker.google.com/issues/130161158

编辑:现已修复。

【讨论】:

    【解决方案2】:

    从您的 URL 中,您正在寻找一个名为 Not%20Logged%20In- 的 ID,该 ID 不是有效 ID。当您复制粘贴 URL 时,它可能会更改 id。

    【讨论】:

    • 感谢您的回复。文档说用户 ID 可以是任意长度的文本:developers.google.com/analytics/devguides/collection/… 也就是说,我已经尝试了仅具有十六进制值的用户 ID(例如“55d28a097d822306603eb942”),结果相同。澄清一下,URL 工作正常,是 API 在使用用户 ID 时没有返回用户活动。
    • 嗯,这个 ID 下的用户很多吗?您的请求正文看起来不错,我怀疑它的 API 无法处理空格,因为这是与我的 userId 命中唯一不同的地方,我会说这很不寻常。我猜它的 URL 只在 Web UI 中编码。您可以尝试使用“未登录”之类的普通 userId 格式吗?
    • 我已尝试不使用空格(或连字符),但仍然出现错误。例如。 “未找到 USER_ID:55d28a097d822306603eb942。”
    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多