Répondre

1

Vous pouvez authentifier auprès de Google en utilisant une langue qui peut gérer un HTTP POST et HTTP GET.

Remarque: client_id, URL_rouge, client_secret sont toutes les valeurs que vous avez définies pour votre application dans Google Developers Console. Le champ d'application dépendra de quel Google Api vous souhaitez accéder, plus d'un peut être séparé par une virgule. J'utiliserai la portée de Google Analytics dans cet exemple.

Première étape demander l'accès:

Ceci est l'URL que vous devrez afficher à l'utilisateur demandant l'accès. C'est un appel HTTP Get et peut être placé dans n'importe quel navigateur Web. Note: response_type=code

https://accounts.google.com/o/oauth2/auth?client_id={clientid}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/analytics.readonly&response_type=code 

Deuxième étape:

Une fois qu'ils cliquent sur le lien ci-dessus vous devriez obtenir un code d'authentification.

La demande suivante échangera le code pour un jeton d'accès et un jeton d'actualisation. Ceci est un HTTP POST Note: grant_type=authorization_code

https://accounts.google.com/o/oauth2/token 
code=4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI&client_id={ClientId&client_secret={ClientSecret}&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code 

réponse :

{ "access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw", "token_type" : "Bearer", "expires_in" : 3600, "refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4" } 

l'aide du jeton Refresh:

Le access_token que vous obtenez de la demande ci-dessus est ce que vous allez utiliser pour faire demandes au service. Après une heure de votre jeton d'accès aura expiré, vous devez demander un nouveau access_token vous prenez le refresh_token que vous avez ci-dessus et HTTP Post à: Note: grant_type=refresh_token

https://accounts.google.com/o/oauth2/token 
client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}&refresh_token=1/ffYmfI0sjR54Ft9oupubLzrJhD1hZS5tWQcyAvNECCA&grant_type=refresh_token 

C'est la réponse:

{ "access_token" : "ya29.1.AADtN_XK16As2ZHlScqOxGtntIlevNcasMSPwGiE3pe5ANZfrmJTcsI3ZtAjv4sDrPDRnQ", "token_type" : "Bearer", "expires_in" : 3600 } 

Mon tutoriel complet Google 3 legged oauth2 flow

Utilisation:

Toute requête à l'API Gmail que vous souhaitez utiliser vient d'ajouter access_token = yourtoken à la fin et vous devriez avoir accès.

ou vous pouvez définir l'en-tête.

Authorization Bearer accessToken 
+1

merci beaucoup.C'était exactement ce que je cherchais. – kostas

+0

Voici une liste d'étendues gmail. https://developers.google.com/gmail/api/auth/scopes Notez avec Gmail. Utilisez un compte gmail factice lors des tests et du développement. Vous ne voulez pas que votre compte e-mail réel soit banni si vous avez une boucle qui fonctionne sauvage :) – DaImTo

+0

quand j'essaie de prendre le jeton après avoir reçu le code avec succès j'utilise cette URL ** https: //accounts.google.com/ o/oauth2/jeton? code = {code reçu} & client_id = {identifiant myclient} .apps.googleusercontent.com & client_secret = {secret mm} & redirect_uri = urn: ietf: wg: oauth: 2.0: oob & grant_type = code_autorisation ** mais j'ai un message de requête non valide. – kostas