.net - 谷歌分析报告 API 抛出 401s

标签 .net google-analytics google-analytics-api google-analytics-sdk

我正在尝试从谷歌分析报告中获取一个非常简单的数据集,但尚未对其进行身份验证。我真的迷路了。我一直在使用 APIs explorer 来测试我正在尝试做的事情,并且似乎无法进行简单的批量获取。我已经清除了关键字段(obv)

这基本上就是我想要发回的内容:服务 > Google Analytics Reporting API v4 > analyticsreporting.reports.batchGet

注意:我不想做 OAuth2,只是用服务器 API key 触发这些东西。

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet?fields=reports&key=XXX
{
 "reportRequests": [
  {
   "dateRanges": [
{
 "startDate": "2014-06-23",
 "endDate": "2016-06-23"
}
],
"orderBys": [
{
 "fieldName": "ga:pageviews",
 "sortOrder": "DESCENDING"
}
],
"dimensions": [
 {
 "name": "ua:page"
 }
]
},
{
  "viewId": "7070072"
}
]
}

这是回来的:
{
  "error": {
  "code": 401,
  "message": "The request does not have valid authentication credentials.",
  "status": "UNAUTHENTICATED"
 }
}

最佳答案

API key 用于未经身份验证的 API,例如 Google Analytics Metadata API . Analytics Reporting API V4需要有效的 OAuth token .这样想,您是否希望任何拥有 API key 的人都可以访问您的 GA 数据? API 需要验证用户是否有权访问数据。请通读各种OAuth Scenarios并找到与您的用例匹配的那个。

所以听起来您想使用 service account 进行身份验证.问题不在于您的分析代码,而在于您如何进行身份验证。为了发出请求,您需要有一个有效的 OAuth token 。由于您特别列出了您对 感兴趣.NET 你应该看看Google APIs .NET client library documentation .请记住,您需要将服务帐户电子邮件添加到您希望访问的 Google Analytics(分析) View 。

关于.net - 谷歌分析报告 API 抛出 401s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38001197/

相关文章:

c# - 如何在 Rider IDE 中更改 .NET Framework?

c# - 如何转换日期时间?到日期时间

javascript - 带有 AngularJS 的 Google 标签管理器?

ios - Google Analytics 集成不适用于 iOS 应用程序

c# - WinApp 窗体崩溃,没有任何错误或异常 .Net

.net - 如何声明返回节点集的用户定义函数?

javascript - Google Analytics 在一个网站中使用 2 个 ID

javascript - GWO(谷歌网站优化器)的替代品?

php - 我们如何使用 API 访问特定的 Google Analytics(分析)帐户数据?

android - GoogleAnalytics android getActivity().getApplication() 无法转换为 AnalyticsApplication