私の側とアプリの権限のページの両方で、次の権限を設定しました
:(「read_stream」に注意してください)
<fb:login-button autologoutlink="true" perms="read_stream, user_about_me, user_likes, user_location, user_birthday, user_education_history, user_work_history, friends_about_me, friends_likes, friends_location, friends_birthday, friends_education_history, friends_work_history"></fb:login-button>
ユーザーのプロファイルを要求するとうまくいきます:
FB.api('/me/friends', {
fields: "id,username,name,first_name,last_name,location,link,education,work,statuses.limit(1).fields(message)"
}, function(res){
console.log('FRIENDS', res.data);
});
ただし、ユーザーの友達に同じことをしてもうまくいきません。
Facebookオブジェクトが「不明なエラー」を返し、「500(内部サーバーエラー)」を返します。
FB.api('/me/friends', {
fields: "id,username,name,first_name,last_name,location,link,education,work,statuses.limit(1).fields(message)"
}, function(res){
console.log('FRIENDS', res.data);
});
リクエストしたフィールドまで問題を追跡しました。返品データを削除すると、その部分statuses.limit(1).fields(message)
がエラーの原因のようです。
しかし、エラーの理由がわかりません。/me/friends
- それはのために働く
/me
。 - FB ドキュメントによると
read_steam
、ユーザーのステータスとユーザーの友達のステータスの両方を対象とする必要があります。 - 上記のフィールドを使用すると、API Explorer は問題なく友人のステータスを取得します。
何か間違ったことをしていますか、それとも FB グラフ API のバグですか?
ありがとうございました。