0

私はしばらくの間アクセストークンの問題を抱えていましたが、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();
    }
}

私のコードが時々空の配列を生成する理由を誰かに教えてもらえますか?

4

1 に答える 1

0

Facebookの開発者ブログを調べた後、私はこれに出くわしました:

/ me /accounts/からのアプリの削除GraphAPIの/me/accounts/の下にアプリが表示されなくなります。/ me / Applications /developer /を押すと、ユーザーが開発者であるアプリのリストにアクセスできます。

(変更の全リストはここにあります

したがって、空の配列を取得する理由は、/ me/accountsがサポートされなくなったためである可能性があります。

また、アクセストークンが必要なAPI呼び出しを行う場合は、次のように渡す必要があります。

$facebook->setExtendedAccessToken();
$access_token = $facebook->getAccessToken()
$facebook->api('/me/accounts', 'GET', array(
               'access_token' => $access_token));
于 2013-02-27T10:39:39.350 に答える