Google AnalyticsAPI - 获取特定网址的网页浏览信息

时间:2013-10-20 23:16:57

标签: google-analytics google-analytics-api google-api-php-client

我希望在我的某个网站上实施网页浏览量跟踪系统。

该网站是供应商可以宣传其服务的目录。供应商在网站上有一个独特的个人资料页面,例如mysite.com/directory/abc-profile.html

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

Total views | Total today | This week | This month | This year

数据是否完全是最新的并不重要。

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

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

3 个答案:

答案 0 :(得分:48)

是的 - 您需要使用Google AnalyticsAPI来实现此目的。我建议您查看Query Explorer以了解您需要创建的查询。

您需要多次查询才能获得所需的所有数据(调整开始日期):  - 总浏览  - 今年  - 这个月   - 本周(即最后7天 - 您也可以从中获得Total Today)。

以下是一个示例查询:

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 :(得分:31)

Google建议立即使用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 - 对于与身份验证相关的事项,请遵循this page YOUR_VIEW_ID - 您可以使用Account Explorer查找视图ID。 (或管理员 - >查看 - >查看设置 - >查看ID)。

有关更多文档详细信息和"请尝试使用!"控制台跟随this page

答案 2 :(得分:1)

您应该可以在着陆页上添加过滤器。我假设每个用户的网站都有自己的起始页面。这仅返回该用户的数据。如果你想要的代码如何做到这一点我suogle你谷歌:谷歌分析核心报告api PHP教程

另一个想法是让用户将Google Analytics帐户添加到该个人资料中。然后,您可以将google分析代码放到该页面上。然后他们可以跟踪自己的谷歌分析数据,你不需要处理它们。