AndroidでのFacebook開発は初めてです。私の目標は、ユーザーが気に入ったページ名のリストを取得することです。そのために次のコードを使用しています。
最新の facebook SDK を使用しており、使用しているクラスやメソッドが廃止されていないことを確認したい
ArrayList<String> permissions = new ArrayList<String>();
permissions.add("user_likes");
loginButton.clearPermissions();
loginButton.setReadPermissions(permissions);
loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
@Override
public void onUserInfoFetched(GraphUser user) {
if(user != null)
{
Log.d(TAG,"User login successful:"+user.getProperty("favorite_teams"));
Session session = Session.getActiveSession();
if(session !=null && session.isOpened())
{
if(session.getPermissions().contains("user_likes"))
{
requestForPageLikes = new Request(session, "https://graph.facebook.com/me/likes");
requestForPageLikes.setCallback(new Request.Callback() {
@Override
public void onCompleted(Response response) {
GraphObject go = response.getGraphObject();
JSONObject jso = go.getInnerJSONObject();
Log.d(TAG,"Facebook response:"+jso.toString());
}
});
Request.executeAndWait(requestForPageLikes);
}
}
}
}
}
上記のリクエストは正常に機能しており、応答コードは 200 です。これで問題ありません。
しかし、ログメッセージは次のように印刷されています
Facebook の応答:{"id":"https://graph.facebook.com/me/likes"}
ユーザーが気に入ったページがあると確信しており、私のアプリは developers.facebook.com で適切に構成されており、上記のコードでわかるように、同様のページを読むために必要な権限 user_likes があります。
私はこの問題に非常に悩まされています。どんな助けでも本当に感謝しています。