1

谷歌上有很多结果,但大多数都是一年多的。

我使用了这个库 ,但登录时出现错误:

遇到错误

Google Analytics API 库:GData authError AuthorizationInvalid Credentials

我的控制器代码是:

$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);
4

2 回答 2

1

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

对于授权,它使用 ClientLogin。从ClientLogin 文档

重要提示:ClientLogin 已于2012 年 4 月 20 日正式弃用。它将根据我们的弃用政策继续工作,但我们鼓励您尽快迁移到OAuth 2.0

.

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

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

于 2013-04-10T16:12:45.380 回答
0

看来你有身份验证问题,所以你的 API 应该注册一些对谷歌的身份验证访问,你唯一可以忘记的,我在图书馆文档中找到的是:

// 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,如本例所示

于 2013-04-10T16:11:29.307 回答