Spring social Facebook oauth - получение не всех данных с помощью api v2.5

Я пытаюсь реализовать facebook oauth с помощью Spring Social, в качестве его части я называю следующий uri

https://www.facebook.com/v1.0/dialog/oauth?client_id=12345678900&response_type=code&redirect_uri=http://some_uri.com&success_url=some_uri.com&error_url=some_uri.com&scope=email_bday+

И жетон я получаю нормально. Однако когда я пытаюсь

Facebook facebookTemplate = new FacebookTemplate(accessToken);
FacebookProfile facebookProfile = facebook.userOperations().getUserProfile();

API возвращает полный профиль facebook со всеми данными (электронная почта, ссылка и т. Д.) Только в том случае, если я настроил свое приложение для использования приложения Facebook в консоли разработчика, которое использует api 2.3. На сегодняшний день актуальная версия api, которая используется всеми вновь созданными приложениями в консоли, - 2.5. Если я использую недавно созданное приложение с api 2.5, оно возвращает не все данные - в основном присутствуют только имя пользователя и идентификатор. Я использую Spring Social facebook версии 1.1.1.RELEASE и Spring social 1.1.0.RELEASE

Могу ли я указать какой-либо параметр или обновить библиотеки или код, чтобы получить все данные с помощью вновь созданных приложений с api версии 2.5?


person lopushen    schedule 09.12.2015    source источник


Ответы (2)


Spring Social Facebook v2.0.3.RELEASE нацелен на Graph API v2.5 и должен включать поля, которые вы ищете.

person Craig Walls    schedule 10.12.2015

Вам не хватает объема. По умолчанию область действия spring-social-facebook - public_profile. У него будет лишь ограниченная информация.

Вместо этого используйте "объем электронной почты". Перейдите по этой ссылке Facebook oauth scopes

Таким образом вы можете изменить объем facebookConnectionFactory.setScope("email");

person Aman Agrawal    schedule 11.12.2015