我得到了一个错误的Facebook好友ID:我在id中获得了一些长字母数字值,除了其他因素之外,它也不是唯一的(例如,每次调用都会改变)。
实际上我想使用这个id作为登录的唯一标识符,但是因为它每次更改都没那么有用。
那么这里有什么问题?我还能做些什么来进行独特识别?任何建议将不胜感激。
我正在使用此代码获取好友列表:
Bundle required = new Bundle();
required.putString("fields", "uid, name, picture.type(square), gender, email");
//Request for friendlist from facebook
Request req = new Request(session, "me/taggable_friends", required, HttpMethod.GET,
new Callback() {
@Override
public void onCompleted(Response response)
{
is2=response.getGraphObject();
JSONObject json = is2.getInnerJSONObject();
readResponse(json);
String str = json.toString();
saveFileOnSD("data", str);
// generateNoteOnSD("frinedresponse", str);
Log.v(TAG, str);
}
});
Request.executeBatchAsync(req);
答案 0 :(得分:3)
问题是您使用的是taggable_friends。 Taggable_friends用于标记朋友。根据设计,每次调用时都会更改id。
如果你想要朋友,你应该使用/我/朋友,但它只会返回已经在使用该应用的朋友。
根据您的需要,可以在此处找到所有朋友的解决方案:https://developers.facebook.com/docs/apps/faq
答案 1 :(得分:1)
2014年4月30日,facebook进行了如此多的更改,因此如果您在此日期之后创建了facebook APP ID ,则无法使用< facebook id strong> taggable_friend ,所以要获得你朋友的脸书ID,你需要使用“我/朋友而不是我/ taggable_friend”,但你只能获得那些正在使用你的应用的朋友列表