我想通过杂交式身份验证创建一个使用Google+ API的应用程序。
我使用的是atticmedia/anvard版本的混合身份验证,它已经使用Google的clientID和secretKey进行了配置,这是通过Google开发人员控制台生成的(我已经将这些信息插入到laravel的配置文件夹下的hybridauth.php文件中)。我也设置了作用域(按照谷歌的建议)。
"scope" => "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email",我在laravel路径中执行以下操作:
if (!$hybridauth->isConnectedWith('Google')) {
$adapter = $hybridauth->authenticate('Google');
}
else {
$adapter = $hybridauth->getAdapter('Google');
}
$profile = $adapter->getUserProfile();到目前为止,一切都很顺利。使用var_dump()函数可以正确地打印配置文件。所以我可以假设我已经登录了。现在我想调用Google (例如this)。在相同的laravel路径中,在打印用户配置文件之后,我执行以下操作:
$answer= $adapter->api()->api('/people', 'get', array(
'query' => 'Google'
));如this页面所示,我可以使用api()方法进行调用。但我能打印的唯一结果是"NULL“。我怀疑不知何故请求是不正确的,但我尝试了几乎所有的东西,而且我还没有找到与laravel/hybridauth结合使用的Google API的“真正”示例。
发布于 2014-11-20 01:21:21
在hybridauth中调用$adapter->api来访问Google时,必须使用完整的HTTP URL请求。
$answer= $adapter->api()->api('https://www.googleapis.com/plus/v1/people/me');对于其他服务,例如Facebook,您不需要
$answer= $adapter->api()->api('/me');我使用的是Laravel 4.2.11和hybridauth dev-master
参考:http://hybridauth.sourceforge.net/userguide/tuts/advanced-access-google-api.html
https://stackoverflow.com/questions/26990547
复制相似问题