Iva*_*van 2 php api sdk facebook
我有一个应用程序利用它自己的登录和Facebook登录相结合.我使用自己的会话和cookie来记住用户.我想记住facebook用户,但没有offline_access,所以我想为facebook用户设置我自己的cookie,当他们返回时只是从facebook获取新的access_token,因为他们已经授权了应用程序.
当用户第一次登录时我设法做了所有这些,但当他们回来时我检测到一个cookie并且我得到一个有效的新access_token我不能把它放在facebook会话中.我使用PHP SDK 3.0.1并且有一个功能
$这个 - > FB-> getUserFromAccessToken($令牌)
在base_facebook.php里面,但是当我使用它时它只会抛出一个服务器错误.(fb是我的类,扩展了Facebook类,$ token是有效的新令牌)
我用的时候
$这个 - > FB->的getUser()
它只返回0.
我知道我可以从中获取信息
https://graph.facebook.com/me?access_token= $ access_token
但我需要在Facebook会话中以某种方式
另外,base_facebook.php中有一个对我有用的功能
$这 - > FB-> setAccessToken($的access_token);
所以我可以将令牌放在类中并且它可以工作但是当我之后调用getUser()时它仍然返回0
任何帮助表示感谢!
getUserFromAccessToken()函数不带任何参数.该函数从已设置的访问令牌返回用户ID.getUserFromAccessToken()的函数定义如下所示.
protected function getUserFromAccessToken() {
try {
$user_info = $this->api('/me');
return $user_info['id'];
} catch (FacebookApiException $e) {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您希望从访问令牌中找出用户ID,您需要先设置访问令牌,然后调用函数getUser().代码如下所示.
$facebook->setAccessToken($access_token);
$user_id = $facebook->getUser();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17154 次 |
| 最近记录: |