我们有一个应用程序可用于Android,IOS和网络。该应用程序使用Facebook登录(使用easyfacebook.jar)作为授权用户的替代方式。它工作正常,但由于facebook sdk最近的变化,我无法获得实际的Facebook ID,因为Facebook API会返回应用特定的用户ID。从facebook页:Facebook登录问题无法获取用户的实际Facebook ID
的变化,从1.0版到2.0版
应用范围的用户ID:为了更好地保障人民群众的信息,当 人登录到应用程式版本已经升级要使用 Graph API v2.0,Facebook现在将发布应用范围的ID,而不是该人的原始ID。但是,对于先前登录到您的应用的用户,用户ID不会更改。
我得到的id与ios,web和android不同。请看看:
iOS和网络https://www.facebook.com/559709594 //返回的实际用户ID
的Androidhttps://www.facebook.com/10152580446094595 //不返回实际用户id
我尝试了官方Facebook SDK来获得实际的用户ID但并不成功。我想用下面的方式来获得用户ID:
user = graphApi.getMyAccountInfo();
facebookIdLogin = user.getId();
//returns app specific id not actual user id id = 10152580446094595
Log.d("username is : ", user.getName());//return actual value
Log.d("facebook id is this", facebookIdLogin);
Log.d("facebook user link", user.getLink());
//returns www.facebook.com/10152580446094595
有什么办法,我让实际用户ID。由于平台之间的同步,我需要实际的userId。无论我做什么,我只获取特定于应用程序的userId。这是我要求的许可:
String permissions[] = { "public_profile", "user_friends", "email" };
任何帮助,高度赞赏。
我想了一会儿后,我的头开裂。感谢你的回答。 –