/ me / accounts返回空

时间:2013-02-27 10:31:08

标签: php facebook api

我有一段时间访问令牌问题,我认为通过使用try-catch语法解决了这个问题。不幸的是,它所做的只是隐藏错误,并且仍然会有/ me / accounts将返回空的时间。这是我的代码:

if($facebook->getUser()==0) {
    header("Location:{$facebook->getLoginUrl(array('scope' => 'SCOPE'))}");
} else {
    $user = $facebook->getUser();
    if ($user) {
        $logoutUrl = $facebook->getLogoutUrl();
    } else {
        $loginUrl = $facebook->getLoginUrl(array(
            'scope' => 'SCOPE'
        ));
    }
    try {
        $access_token=$facebook->setExtendedAccessToken();
        $accounts_list = $facebook->api('/me/accounts');            
        .
        .
        .
    } catch(FacebookApiException $e) {
        $results = $e->getResult();
    }
}

任何人都可以告诉我为什么我的代码有时会生成一个空数组?

1 个答案:

答案 0 :(得分:0)

在浏览Facebook上的开发者博客后,我发现了这个:

  

从/ me / accounts /删除应用   我们将不再在图谱API中的/ me / accounts /下显示应用。您可以通过点击/ ​​me / applications / developer /.

来访问用户是开发人员的应用程序列表

(您可以找到完整的更改列表here

因此,您获取空数组的原因可能是不再支持/ me / accounts。

此外,当进行需要访问令牌的api调用时,您应该像这样传递它:

$facebook->setExtendedAccessToken();
$access_token = $facebook->getAccessToken()
$facebook->api('/me/accounts', 'GET', array(
               'access_token' => $access_token));