google analytics Core Reporting API 使用

v3 overview

https://developers.google.com/analytics/devguides/reporting/core/v3/

php client

https://code.google.com/p/google-api-php-client/

文档

https://developers.google.com/analytics/

v3 api 文档

https://developers.google.com/apis-explorer/#s/analytics/v3/

 

可参照此教程来

https://developers.google.com/analytics/resources/tutorials/hello-analytics-api

其实最重要的一步就是oauth2.0验证了,这个是所有google api都需要的。

使用google的api  client 库还比较方便。

 

大体流程是,需要在 https://code.google.com/apis/console/ 注册你的工程,这一步为以后请求api打基础。

创建项目,按照步骤来,在Api Acess选项,创建oauth client2.0 client ID。

Branding Information

界面填的信息是当你的web程序跳转到google认证页面时,google显示给用户看的,这样可以让用户知道是什么程序需要访问Ta的google账户,这个和openid有些像。

Client ID Settings

此界面需要你选择程序类型

Web application

Service account

Installed application

其中Service account是针对不需要访问google用户信息的程序,也就是不需要用户认证界面。像云存储,就不需要于某个用户关联。

这里使用google analytics还是需要用户信息的,所以应该选择Web application。

在Your site or hostname这一项中需要注意,这个链接是用于用户认证后google返回token的回调页面(http get,code参数带token),所以应该点击more options填上你希望google认证后跳转的页面,这个页面自然要负责将google的token保存在某个地方以便(一段时间内)下次使用。

点击创建clientid这时就为你创建好了用于api调用的oauth信息。

<?php
$client->setClientId('insert_your_oauth2_client_id');
$client->setClientSecret('insert_your_oauth2_client_secret');
$client->setRedirectUri('insert_your_oauth2_redirect_uri');
$client->setDeveloperKey('insert_your_developer_key');
?>
其中setDeveloperKey中设置的就是app key。

这样关键的oauth步骤就完成了,在其后就是查询api调用了。

 

https://developers.google.com/analytics/devguides/reporting/core/v3/reference

DataGaServiceResource->data_ga->get方法是这样定义的:

public function get($ids, $start_date, $end_date, $metrics, $optParams = array())

我所碰到的问题是,有用户自定义的dimension,如果在dimensions参数中包含了此维,那么只会返回有此维值得结果,相当于sql 中where条件中的and is not null了。故在写此维数据时,如果没有值也应该写个字符串’(not set)’,以免查询时没有此维值得记录被过滤掉了。


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1