2016-12-23 3 views
0

Я последовал за this учебным пособием по попытке аутентификации моих пользователей в моем REST API, все работает, и мой директор возвращает мое имя, но я, похоже, не получаю ни одну из других данных (электронная почта, список друзей и т. д. внутри области). Как мне это сделать, используя весну?Извлеките адрес электронной почты facebook, используя весеннюю безопасность

конфигурационный файл YAML:

security: 
    oauth2: 
    client: 
     clientId: CENSORED 
     clientSecret: CENSORED 
     accessTokenUri: https://graph.facebook.com/oauth/access_token 
     userAuthorizationUri: https://www.facebook.com/dialog/oauth 
     tokenName: oauth_token 
     authenticationScheme: query 
     clientAuthenticationScheme: form 
     scope: email,user_friends,public_profile 
    resource: 
     userInfoUri: https://graph.facebook.com/me 
    user: 
    password: password 

spring: 
    social: 
    facebook: 
     app-id: CENSORED 
     app-secret: CENSORED 

RestController:

@RestController 
public class UserController { 

    @RequestMapping(value = "/user", method = RequestMethod.GET) 
    public Principal user(FixedPrincipalExtractor extractor, Principal principal) { 

     return principal; 
    } 
} 

Мне нужна эта информация, так как я хочу, чтобы иметь возможность отправить своим пользователям, а также увидеть, если другие «друзья» также используют этот заявление.

Заранее благодарен! Пожалуйста, спросите, не ясно ли что-то.

(я использую maven как диспетчер пакетов с надежностью на весу как аутентификацию для моего RESTFul API, который должен подключаться к моему интерфейсу AngularJS. Я новичок в Spring, я обычно использую API REST с использованием JAX-RS)

+1

Я не знаю весны, но я предполагаю, что речь идет о декларативных полях. посмотрите эту тему: http://stackoverflow.com/questions/32584850/facebook-js-sdks-fb-api-me-method-doesnt-return-the-fields-i-expect-in-gra – luschn

ответ

0

У меня была такая же проблема, когда у меня были только поля id и name в ответной карте.

@luschn - это право. Нам нужно явно указать поля ответа.

Для электронной почты, я изменил свойство userInfoUri в

resource: userInfoUri: https://graph.facebook.com/me?fields=id,name,email

Используйте этот график исследователь инструмент, чтобы увидеть, какие поля вам нужно в ответ.

https://developers.facebook.com/tools/explorer/

Счастливый кодирования!

Смежные вопросы