我正在尝试获取当前登录用户的facebook用户ID。 我用下面这段代码得到了错误“未捕获OAuthException:必须使用活动访问令牌来查询有关当前用户的信息”
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '226668060741665',
'secret' => 'secret key',
));
$rr=$facebook->getAccessToken();
$params = array(
'access_token' => $rr,
'installed' => 'true',
'permissions' => 'read_stream,publish_stream'
);
$eded=$facebook->api("/me/", "GET", $params);
我尝试使用Facebook::getLoginStatusUrl()
,但没有得到它返回的内容。
如果我可以使用上述功能,请告诉我如何获取当前登录用户的ID以及如何使用Facebook::getLoginStatusUrl()
的返回值
提前致谢
答案 0 :(得分:0)
您应该使用最近的PHP-SDK并阅读详细说明如何authenticate用户和get his details的文档。
中已经存在的确切答案您也可以参考问题Get ID from Facebook PHP SDK来回答您的问题。
答案 1 :(得分:0)
请按照以下步骤操作:
$next_url = $facebook->getLoginStatusUrl();
header('Location: '.$next_url);
$facebook->getUser();
获取access_token和userid(如果已登录)到目前为止一切顺利。唯一的问题是,自从Facebook API过渡到oAuth2.0以来,此功能(第4点)已被破坏,另请参阅此错误报告:http://developers.facebook.com/bugs/295348980494364
返回的$ _GET ['session']在新的oAuth2.0 SDK中没用,它在旧的PHP-SDK v2中使用(当前是3.1.1)。
因此,请通过添加复制品让FB知道您有同样的问题。
干杯!