/me/accounts returns empty


/me/accounts returns empty

我有一段时间遇到了访问令牌问题,我认为通过放入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();
    }
}

谁能告诉我为什么我的代码有时会生成一个空数组?

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

从/me/accounts/中删除应用我们将不再在Graph API的/me/accounts/下显示应用程序。你可以通过点击/me/applications/developer/来访问用户开发的应用程序列表。

(你可以在这里找到完整的更改列表

)

所以你得到空数组的原因可能是/me/accounts不再被支持。

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

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