Je travaille sur un projet d'application google et je me bats un peu avec la bibliothèque java oauth (1.10.1-beta).Oauth: Où obtenir userId pour AuthorizationCodeFlow. createAndStoreCredential?
Je suivis de près: http://code.google.com/p/google-oauth-java-client/wiki/OAuth2#Authorization_code_flow
Le problème est que je ne sais pas où je devrais UsagId USEREMAIL. Je sais qu'il existe une API userinfo mais j'essaie en fait de créer des informations d'identification, donc je ne peux pas accéder à AFIAK.
Mon application fonctionne bien sur localhost (parce que l'utilisateur de [email protected] est toujours là) mais échoue lamentablement lorsqu'elle est déployée dans l'environnement du moteur de google (NullPointerException user.getUserId()).
// we ask for token because we got authCode
GoogleTokenResponse gTokenResponse = userUtils.getFlow().newTokenRequest(authCode).setRedirectUri(userUtils.getRedirectUri()).execute();
//trying to search for user email/id/whatever
User user = UserServiceFactory.getUserService().getCurrentUser();
//user is null -> nullPointerException is thrown
userUtils.getFlow().createAndStoreCredential(gTokenResponse, user.getUserId());
Pourriez-vous s'il vous plaît signaler une faille dans mon cas d'utilisation ou me donner un indice? J'ai beaucoup cherché dans les exemples de SDK, Stackoverflow et ici, mais il n'y a pas beaucoup d'implémentations. PS: Dans la méthode AuthorizationCodeFlow.createAndStoreCredential (...) userId est obligatoire uniquement lorsque vous utilisez un stockage persistant pour les informations d'identification et oui j'utilise cela de sorte que userId ne puisse pas être null dans mon cas.
Merci.
Mais étant donné que le code s'exécute après que l'utilisateur a accordé l'accès à l'application, dans cette situation, l'application doit savoir qui est connecté au compte google. – Martin85
si UserServiceFactory.getUserService(). GetCurrentUser() == null alors j'ai peur que l'utilisateur ne soit pas connecté à son compte google – koma