Facebook登录问题无法获得用户的实际Facebook ID

时间:2014-07-03 04:06:17

标签: android facebook facebook-graph-api facebook-login

我们有一个Android,ios和网络应用程序。该应用程序使用Facebook登录(使用easyfacebook.jar)作为授权用户的替代方式。它工作正常,但由于最近facebook sdk的变化,我无法获得实际的Facebook ID,因为facebook api返回特定于应用程序的用户ID。来自facebook页面:

  

从v1.0更改为v2.0

     

应用范围的用户ID:为了更好地保护人们的信息,何时   人们登录已升级使用的应用程序版本   Graph API v2.0,Facebook现在将发布应用程序范围的ID而不是   该人的原始身份证。但是,对于之前有过的用户   登录到您的应用程序后,用户ID不会更改。

我得到的id对于ios,web和android是不同的。请看一下:

ios and web https://www.facebook.com/559709594 //返回实际的用户ID

Android https://www.facebook.com/10152580446094595 //未返回实际的userId

我尝试使用正式的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 

有没有办法让我获得实际的userId。由于平台之间的同步,我需要实际的userId。无论我做什么,我只获得应用程序特定的userId。这是我要求的许可:

String permissions[] = { "public_profile", "user_friends", "email" };

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:5)

您所看到的是与Graph API v2.0一起引入的应用范围的user_id与全局user_id之间的区别。

详细了解https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

答案 1 :(得分:0)

这个问题只是一个误解。所有版本都接收到与实际配置文件ID不同的配置文件ID。在android我有一个单独的仪表板配置,所以我收到不同的ID。 请注意,同一个具有相同帐户的信息中心中的同一项目的ID相同。。希望这有助于某人。

相关问题