2014-07-03 112 views
2

我們有一個應用程序可用於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" }; 

任何幫助,高度讚賞。

回答

0

這個問題只是一個誤解。所有版本都收到與實際配置文件ID不同的配置文件ID。在android中我有一個單獨的儀表板配置,所以我收到不同的ID。 請注意,對於同一個儀表板中具有相同帳戶的同一項目,ID將相同。。希望這可以幫助某人。