我使用FacebookSDK创建应用程序,它可以在android 4.4中获取friendList,但它在android5.0中无效。
public static boolean isLogin(){
if(AccessToken.getCurrentAccessToken() == null){
Log.d("fb", "fb not login");
return false;
}else if(AccessToken.getCurrentAccessToken().isExpired()){
Log.d("fb", "fb token expired");
return false;
}
return true;
}
我调试了这个,发现accessToke是正确的:{AccessToken令牌:ACCESS_TOKEN_REMOVED权限:[public_profile,user_friends]}
public static void makeInviteFriendsRequest(final String msg) {
// Make an API call to get user data and define a
// new callback to handle the response.
SuspensionButton.getInstance().getGameActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Log.d("fb","fb makeInviteFriendsRequest run");
GraphRequest request = GraphRequest.newMyFriendsRequest(AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONArrayCallback() {//Callback
@Override
public void onCompleted(JSONArray result, GraphResponse response) {
SuspensionButton.getInstance().removeLoading();
InviteGen.fbJAarry=result;
SuspensionButton.getInstance().showBoardActivity("1","");
}
});
request.executeAsync();
}
});
}
然后我调试“newMyFriendsRequest”,发现它是相同的accessToke,具有相同的id和content.But响应发生错误:必须使用活动访问令牌来查询有关当前用户的信息。 有谁知道我错过了什么? 为我的英语道歉,希望我解释清楚。
答案 0 :(得分:0)
我终于找到了我的错误。我编辑了sdk代码' MY_FRIENDS'属性,更改为' me / invitable_friends?limit = 50',我删除后面的代码'?'然后android 5.0可以获取朋友的数据。但我不知道为什么,也许有人可以告诉我。