2017-07-09 2 views
0

J'essaie d'avoir accès au serveur via son API. Il y a une possibilité d'accès sans ouvrir le navigateur, comme dans exemple fourniGoogle OAuth API

curl "token url" -d "grant_type=password&client_id=&client_secret=&username=&password=" 

Je suis en train d'utiliser l'API de Google, en particulier PasswordTokenRequest, copie essentiellement le code de l'javadoc J'ai téléchargé la bibliothèque 1.20.0 par maven et toutes les méthodes et classes ont été importées, mais pas setRedirectUri(). IntelliJ IDEA ne cesse de me dire qu'elle ne peut pas résoudre cette méthode, bien qu'elle soit utilisée dans la documentation officielle. Donc l'exemple fourni dans javadoc est faux? Si oui, quelle est la manière correcte d'accéder à l'API si elle nécessite un jeton de support et que le corps du POST ressemble à ceci?

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: Bearer 859ea2450228a5d655e3a8c2f9a5aedc30b591df" --header "Accept-Language: en" -d "{ 
    \"jsonrpc\": \"2.0\", 
    \"method\": \"getByID\", 
    \"params\": { 
    \"Id\": 1 
    }, 
    \"id\": 1 
}" "rpc url" 

Répondre

0

Comme il se trouve, le code fourni dans javadoc était mal en effet. Quand je l'ai changé de cette façon, ça a marché:

 TokenResponse response = 
     new PasswordTokenRequest(new NetHttpTransport(), new JacksonFactory(), 
      new GenericUrl("https://server.example.com/token"), client_id, secret) 
      .setClientAuthentication(
       new BasicAuthentication(username, password)).execute();