google API 使用Client Login 登录授权
2020-12-13 16:13
标签:style blog http io color ar os 使用 sp 今天要使用google api来获取google analytics 的数据,所以必须要用到google 的登录授权。 Google的服务认证体系包含了多种认证授权的方式,如AuthSub授权认证服务、OAUTH授权认证服务与ClientLogin授权认证服务等。具体大家可以参考 : http://blog.csdn.net/hereweare2009/article/details/4002537 http://blog.zhourunsheng.com/2011/07/%E8%84%9A%E6%9C%AC%E6%96%B9%E5%BC%8F%E8%8E%B7%E5%8F%96google-clientlogin-auth-token/ 今天着重说的是 Google ClientLogin授权认证 。 其实认证一点也不麻烦,使用curl轻松实现。下面是一段简单代码: 上面这段代码只是简单实现,大家可以发现非常简单,其实官方提供了一个php操作类 gapi (上一篇也大体说了下),对于想获取google analytics数据来说功能强大,非常建议使用。云盘地址:http://pan.baidu.com/s/1kTIEIov ,我只用到了里面的 gapi.class.php & example.report.php 。 上面这些其实都不难,一般都可以解决。今天着重要强调的是,在使用过程中,我遇到了这样的一个问题: 估计有很大可能大家也会遇到,我一度怀疑是否是墙GFW的原因(这里一直返回403,所以排除了GFW原因)。在google的帮助下,终于找到了答案(见http://stackoverflow.com/questions/15742352/google-api-login),原因在于google的账户安全设置,得允许应用去访问才可以。 解决办法如下: 1、点击 https://accounts.google.com/DisplayUnlockCaptcha 点击页面的继续,再继续程序,是否还有问题,有问题,再继续第二步; 2、点击https://www.google.com/settings/security/lesssecureapps 查看 是否启用了“不够安全的应用”,选择启用,点击完成。 这样应该就解决问题了。 google API 使用Client Login 登录授权 标签:style blog http io color ar os 使用 sp 原文地址:http://www.cnblogs.com/gaoj87/p/4080959.html$data = array(
‘accountType‘ => ‘GOOGLE‘,
‘Email‘ => $email,
‘Passwd‘ => $password,
‘service‘ => ‘analytics‘, //google 一系列api 的简写,在google 上能找到,可以换成你想要的服务简写
‘source‘ => ‘test-oauth-1.0‘, //给你自己的应用程序命名
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/accounts/ClientLogin");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
[root@local ga]# php example.report.php
Fatal error: Uncaught exception ‘Exception‘ with message ‘GAPI: Failed to authenticate user. Error: "Error=BadAuthentication
Url=https://www.google.com/accounts/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbufmhdsjlfjdlsjooXTjXExc4le_Gs-DXFMFTJtvp-c2nGLoRe4x9ClckVRRDTxugccDK-cg18GIk_-eVozE8Anhsdfdshjfh46ygvrfXANEPm8Zo-Mpjcy8_cJe-0368ukKfKpb0nExpKDDiDsvSOVa11Ks_ZKhyAw2N9zl2pphbT53wfsdhkjhDUIgCVSK--5r79hfdsjkFvXb-Ry-7YjI3d8M1MPdHxUiged5t11gveSaqwhAijc
Info=WebLoginRequired
"‘ in /root/ga/gapi.class.php:418
Stack trace:
#0 /root/ga/gapi.class.php(62): gapi->authenticateUser(‘xxxxxxx@xxxxx‘, ‘xxxxxxx‘)
#1 /root/ga/example.report.php(9): gapi->__construct(‘xxxxxxx@xxxxxx‘, ‘xxxxx‘)
#2 {main}
thrown in /root/ga/gapi.class.php on line 418
文章标题:google API 使用Client Login 登录授权
文章链接:http://soscw.com/essay/35902.html