0

Web サイトで使用する予定の次の PHP コードがあります。また、以前に Facebook アプリを使用して Web サイトにサインインしたことのあるユーザーの友人の Facebook ID も取得する必要があります。

アプリを作成し、[ステータスとレビュー] ページで、email、public_profile、および user_friends のアクセス許可を確認できます。「/me」だけでリクエストしようとすると、ユーザーIDと姓名を取得できます。それでうまくいきます。しかし、「/me/friends」を試してみると、次のコードは空の配列を返します。私にとってはそれほど重要ではありませんが、ユーザーのメールも取得できません。

どうすればこの情報を入手できるか分かりますか? 私は何を間違っていますか?

前もって感謝します。

Facebook\FacebookSession::setDefaultApplication('MY_APP_ID', 'MY_APP_SECRET');
$facebook = new Facebook\FacebookRedirectLoginHelper('MY_REDIRECT_URL_HERE');
$session = $facebook->getSessionFromRedirect();
$session = new Facebook\FacebookSession($_SESSION['facebook']);
$request = new Facebook\FacebookRequest($session, 'GET', '/me/friends');
$response = $request->execute();
$graphObject = $response->getGraphObject();
4

1 に答える 1

2

「ステータスとレビュー」タブの許可は、Facebook による承認を得る必要がないことを意味しますが、承認プロセスで要求する必要があります。それが「スコープ」パラメーターの目的です: https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

ところで、あなたが知っているかどうかはわかりませんが、/me/friends でアプリを承認したユーザーのみを取得できます。したがって、user_friends パーミッションでユーザーを正しく承認していないか、アプリを使用している友達がいないだけです。

于 2014-10-21T20:10:08.263 に答える