谷歌分析API - 获取特定URL的页面浏览信息

73

我想在我的一个网站上实现页面访问跟踪系统。

这个网站是一个目录,供应商可以在上面发布他们的服务。供应商在网站上拥有一个独特的个人资料页面,例如mysite.com/directory/abc-profile.html。

我的想法是,供应商可以登录到网站上的账户区域,并查看有多少人正在访问他们的个人资料页面。理想情况下,我希望将这些数据显示为:

总浏览量 | 今天总浏览量 | 本周 | 本月 | 今年

如果数据不完全实时也没有关系。

我已经在网站上安装了Google Analytics跟踪代码。是否可以使用Google Analytics API检索此数据?如果可以,我需要进行什么样的查询?我查看了文档,但无法确定函数是否允许此操作。

我在服务器上使用PHP和MySQL。


我需要完成相同的事情。 - Swapnil
4个回答

76

是的 - 你需要使用Google Analytics API来完成这个任务。我建议你查看查询探索器(Query Explorer),以了解你需要创建的查询。

你需要多次查询以获取所需的所有数据(调整起始日期): - 总浏览量 - 今年 - 本月 - 本周(即过去7天 - 从中你也可以获取今天的总计)。

这里是一个示例查询:

https://www.googleapis.com/analytics/v3/data/ga?ids=ga:1234456789&dimensions=ga:pagePath&metrics=ga:pageviews&filters=ga:pagePath==/about-us.html&start-date=2013-10-15&end-date=2013-10-29&max-results=50

或者,您可能想考虑使用www.embeddedanalytics.com声明 - 我是他们的工作人员)。我们提供一种服务/平台,使网站所有者可以嵌入基于GA的图表/统计数据,而无需学习GA API。我们有一个CMS版本,它将完全满足您的需求(其中您需要编写调用以传递页面路径)。我们已经为许多播客共享网站做过类似的事情。


1
即使我已经登录,它仍然显示需要登录。为什么? - user254153
4
“@user254153,登录和授权第三方应用访问您的数据是有区别的。您需要同时登录并授权该应用程序。” - Philip Walton
2
请参见以下答案以了解报告 API V4 的相关信息:[https://dev59.com/RWIk5IYBdhLWcg3wNru8#39749033]。 - Sergey Alekseev

69

谷歌建议现在使用Reporting API V4。而已接受的答案使用了V3。

这里是一个V4请求示例:

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet?key={YOUR_API_KEY}
{
 "reportRequests": [
  {
   "viewId": "YOUR_VIEW_ID",
   "dimensions": [
    {
     "name": "ga:pagePath"
    }
   ],
   "metrics": [
    {
     "expression": "ga:pageviews"
    }
   ],
   "dimensionFilterClauses": [
    {
     "filters": [
      {
       "operator": "EXACT",
       "dimensionName": "ga:pagePath",
       "expressions": [
        "/your-path"
       ]
      }
     ]
    }
   ],
   "dateRanges": [
    {
     "startDate": "2009-12-31",
     "endDate": "2016-09-28"
    }
   ]
  }
 ]
}

其中
YOUR_API_KEY - 用于认证相关事项,请参阅此页面
YOUR_VIEW_ID - 您可以使用帐户资源管理器查找视图 ID。(或管理员-> 视图-> 视图设置-> 视图 ID)。

有关更多文档详细信息和“尝试!”控制台,请参阅此页面


这必须在服务器端完成,对吗?因为它正在请求访问令牌。 - kittu
11
即使使用API密钥,我仍收到401未授权的错误。 - Matej Kormuth
1
是否可以添加多个页面路径? - Tyler Zika
2
我收到了以下信息:“{"error": {"code": 401, "message": "请求缺少必需的身份验证凭据。预期的OAuth 2访问令牌," - Vikas Ck
1
看起来这个答案已经过时了。现在没有view_id了。 - GorvGoyl
显示剩余6条评论

6

由于其他翻译版本针对V3和V4,我想提供一份更新的版本,适用于使用最新API的人们,包括Google Analytics Data API (GA4)。这只是针对特定路径在日期范围内抓取总用户数。

请注意,POST请求将访问v1 beta地址,因为这是当时的最新版本。

POST https://analyticsdata.googleapis.com/v1beta/properties/PROPERTY_ID:runReport
{
  "dateRanges": [
    {
      "startDate": "YYYY-MM-DD",
      "endDate": "YYYY-MM-DD"
    }
  ],
  "dimensions": [
    {
      "name": "pagePath"
    }
  ],
  "dimensionFilter": {
    "filter": {
      "fieldName": "pagePath",
      "stringFilter": {
        "matchType": "CONTAINS",
        "value": "/YOUR/PATH"
      }
    }
  },
  "metrics": [
    {
      "name": "totalUsers"
    }
  ]
}

1
你应该能在着陆页面上添加筛选器。我假设每个用户的网站都有自己的起始页面。这将仅返回该用户的数据。如果您想了解如何执行此操作的代码,建议您搜索:Google Analytics核心报告API PHP教程。
另一个想法是让用户将其Google Analytics帐户添加到其个人资料中。然后,您可以将Google Analytics代码输出到他们的页面上。然后他们可以跟踪自己的Google Analytics数据,而您不需要处理任何数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接