谷歌分析集成codeigniter

时间:2013-04-10 15:01:49

标签: php codeigniter google-analytics

Google为此提供了很多结果,但其中大多数已超过一年。

我使用了this library 但登录时出错:

  

遇到错误

     

Google Analytics Api库:GData authError   AuthorizationInvalid   凭证

我的控制器代码是:

$this->load->library('ga_api');
$this->ga_api->login();
$data['google'] = $this->ga_api
->dimension('adGroup , campaign , adwordsCampaignId , adwordsAdGroupId')
->metric('impressions')
->limit(30)
->get_object();

$this->load->view('includes/template', $data);

2 个答案:

答案 0 :(得分:1)

我检查了该库,似乎在Google Analytics中使用了Reporting API的v2。这个API有一个新的v3版本。

对于授权,它使用ClientLogin。来自ClientLogin docs

  

重要:截至2012年4月20日,ClientLogin已officially deprecated。它将继续按照deprecation policy的规定运行,但我们建议您迁移到{{} 3}}尽快   尽可能。

  

重要:如果您的任何客户遇到ClientLogin问题,他们的帐户可能与其不兼容   可能的原因。例如,使用两步的帐户   验证,SAML或Open ID与ClientLogin不兼容。   一种解决方法是告诉用户生成一次性密码,   由OAuth 2.0提供,允许他们登录他们的   在Web浏览器中进行帐户并生成可以使用的长密码   使用ClientLogin键入任何应用程序的密码字段。一个   更好的解决方案是将您的应用转换为使用OAuth 2.0,即   与所有现有的Google帐户兼容。

如果您在帐户中启用了两步验证,则应尝试使用访问代码解决方法,否则您应该联系库开发人员并建议他们不再使用已弃用的授权方法。

答案 1 :(得分:0)

似乎您遇到了身份验证问题,因此您的API应该注册一些对Google的身份验证访问权限,这是您唯一可以忘记的内容,我在库文档中找到了:

// Set new profile id if not the default id within your config document
$this->ga = $this->ga_api->login()->init(array('profile_id' => '182918291281'));

我猜您需要API密钥或使用profile_id,如本例所示