Intereting Posts
Можно ли использовать Android SDK методы с аннотацией @hide? Внешнее распределение слишком велико для этого процесса в Android Как повернуть мое приложение на 180 градусов вверх дном на вращающемся устройстве на 180 градусов вверх дном? Не удалось инициализировать приемник событий отображения Как отправить BroadCast из одного приложения в другое приложение Динамическое изменение фона LinearLayout Добавить вид на клавиатуру Android Не удалось запустить файл open_gapps-arm-6.0-stock-20160220 в genymotion? Как проверить, включен ли контакт в телефонной книге телефона Android? Что такое Android Annotations и почему мы используем аннотации Android? Как использовать библиотеку ZXing без установки приложения barcodescanner Сжатие видео с использованием FFMPEG и JNI Предотвратить показ приложения в последнем списке приложений в Android-Kitkat 4.4.2 Шаблон WeakReference / AsyncTask в android Android: прослушивание голосовой команды (все время)

Как получить идентификатор пользователя FB с помощью кнопки входа в Facebook в приложении android

Я разрабатываю приложение, в котором я использую кнопку входа в систему Facebook из SDK. Я могу получить access_token пользователя, но я тоже хочу userID . Я пробовал почти все, но не был успешным. Для этого я использовал учебник для facebook. Вот ссылка: кнопка входа в Facebook

Пожалуйста, помогите мне в получении userID от той же кнопки входа.

Любая помощь будет оценена по достоинству.

Solutions Collecting From Web of "Как получить идентификатор пользователя FB с помощью кнопки входа в Facebook в приложении android"

После успешного входа в систему вам необходимо вызвать следующий код. Вы можете получить зарегистрированные данные пользователя с идентификатором в ответ.

 Session session = Session.getActiveSession(); Request request = Request.newGraphPathRequest(session, "me", null); com.facebook.Response response = Request.executeAndWait(request) 

Используйте метод getId класса FB Profile (Facebook SDK 4.0).

  Profile profile = Profile.getCurrentProfile(); System.out.println(profile.getFirstName()); System.out.println(profile.getId()); 
 loginResult.getAccessToken().getUserId() 
 you should be used new facebook sdk 3.0 and @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); if (Session.getActiveSession().isOpened()) { // Request user data and show the results Request.executeMeRequestAsync(Session.getActiveSession(), new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { // TODO Auto-generated method stub if (user != null) { // Display the parsed user info Log.v(TAG, "Response : " + response); Log.v(TAG, "UserID : " + user.getId()); Log.v(TAG, "User FirstName : " + user.getFirstName()); } } }); } } 

На основе ответа от @Ketan Mehta ( https://stackoverflow.com/a/17397931/624109 ), в котором используется устаревший API, вы должны использовать следующий код:

 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); if (Session.getActiveSession().isOpened()) { // Request user data and show the results Request.newMeRequest(Session.getActiveSession(), new GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (null != user) { // Display the parsed user info Log.v(TAG, "Response : " + response); Log.v(TAG, "UserID : " + user.getId()); Log.v(TAG, "User FirstName : " + user.getFirstName()); } } }).executeAsync(); } } 

Поскольку все эти ответы предназначены для более старых SDK, для SDK 4.0 здесь приведен код

 loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { // App code Profile profile = Profile.getCurrentProfile(); Log.d("facebook",profile.getId()); } @Override public void onCancel() { // App code Log.d("facebook","failed"); } @Override public void onError(FacebookException exception) { // App code Log.d("facebook","failed"); } }); 

Я искал то же самое, похоже, что объект Session больше не доступен, поэтому выше – новый способ получить профиль пользователя и идентификатор пользователя.

Графический API-интерфейс Facebook позволяет вам делать вызовы, которые возвращают JSON, который вы можете анализировать на Android с помощью JSONObject, как этот ниже код.

 JSONObject me = new JSONObject(fb.request("me")); String id = me.getString("id"); 

Вы можете получить идентификатор пользователя с помощью этого кода:

 document.getElementById('status').innerHTML = 'Welcome ' + response.name + '!' + "<br />"+ 'Your user ID is : ' + response.id;