web-dev-qa-db-fra.com

Utilisation de Postman pour accéder à OAuth 2.0 API Google

J'essaie d'accéder à Google API de proximité à l'aide de Postman chrome app . J'ai suivi des tutoriels sur le site Web postman et google dev mais je reçois toujours un message d'erreur 401.

Qu'est-ce que je fais?

  • Étape 1 - Activer l'API de proximité:

Pour utiliser l'API Proximity, elle doit d'abord être activée dans la console Google Dev. Utilisation de this tutorial J'ai activé la prise en charge de l'API Proximity pour mon projet.

  • Étape 2 - Obtenez les informations d'identification:

Selon ceci tutoriel, je dois obtenir un identifiant client et un secret. C'est là que je suis confus. Informations d'identification-> Ajouter des informations d'identification-> ID client OAuth2.0-> sélectionnez Chrome Bouton d'option de l'application (depuis que j'utilise Postman) -> entrez la dernière partie de l'adresse Chrome de la boutique Web [ qui est fhbjgbiflinjbdggehcddcbncdddomd] -> cliquer sur le bouton Créer Ces étapes ne permettent de générer qu'un identifiant client, pas un secret. Je fais quelque chose de mal?

Depuis la console Google Dev, il est possible de télécharger un fichier JSON contenant l’identifiant du client, l’authentification URI et l’URI du jeton enter image description here

J'ai téléchargé ceci, mais cela ne m'aide pas beaucoup si j'utilise Postman. Je suppose que ce fichier JSON est quelque chose qui peut être inclus dans une application JS.

  • Étape 3 - Utilisez Postman pour tester l'API

enter image description here

Qu'est-ce que je reçois? enter image description here

Et, une fois que je clique sur l'URL de débogage, je vois l'écran suivant

enter image description here

49
Sai

Postman interrogera l'API Google empruntant l'identité d'une application Web

Générez un jeton OAuth 2.0:

  1. Assurez-vous que les API Google sont activées
  2. Créer un ID de client OAuth 2.0

    • Accédez à la console Google -> API -> OAuth écran de consentement
      • Ajoutez getpostman.com aux domaines autorisés. Cliquez sur Enregistrer.
    • Accédez à la console Google -> API -> Informations d'identification
      • Cliquez sur "Créer les informations d'identification" -> OAuth ID client -> application Web
        • Nom: 'getpostman'
        • URI de redirection autorisées: https://www.getpostman.com/oauth2/callback
    • Copiez les champs Client ID et Client secret générés pour une utilisation ultérieure
  3. Dans Postman, sélectionnez l'onglet Autorisation et sélectionnez le type "OAuth 2.0". Cliquez sur 'Obtenir un nouveau jeton d'accès'

    • Remplissez le formulaire OBTENIR UN NOUVEL ACCÈS AU JETON comme suit
      • Nom du jeton: 'Google OAuth getpostman'
      • Type de subvention: 'Code d'autorisation'
      • URL de rappel: https://www.getpostman.com/oauth2/callback
      • URL d'authentification: https://accounts.google.com/o/oauth2/auth
      • URL du jeton d'accès: https://accounts.google.com/o/oauth2/token
      • ID client: Client ID généré à l'étape 2 (par exemple, "123456789012-abracadabra1234546789blablabla12.apps.googleusercontent.com")
      • Client Secret: Client secret généré à l'étape 2 (par exemple, 'ABRACADABRAus1ZMGHvq9R-L')
      • Portée: voir la documentation Google pour la portée requise OAuth (par exemple, https://www.googleapis.com/auth/cloud-platform)
      • Etat: vide
      • Authentification du client: "En-tête d'envoi en tant qu'authentification de base"
    • Cliquez sur 'Demander un jeton' et 'Utiliser un jeton'
  4. Définissez la méthode, les paramètres et le corps de votre demande en fonction de la documentation Google.
39
DimaTX

Le meilleur moyen que j’ai trouvé jusqu’à présent est d’aller sur le Oauth terrain de jeu ici: https://developers.google.com/oauthplayground/

  1. Sélectionnez la catégorie Google Api appropriée, puis sélectionnez l'étendue à l'intérieur de cette catégorie dans l'interface utilisateur.
  2. Obtenez le code d'autorisation en cliquant sur le bouton bleu "Autoriser l'API". Échangez le code d'autorisation pour le jeton en cliquant sur le bouton bleu.
  3. Stockez le jeton OAuth2 et utilisez-le comme indiqué ci-dessous.

Dans l'en-tête HTTP de la demande d'API REST, ajoutez: "Authorization: Bearer". Ici, l'autorisation est la clé et le "porteur". Par exemple: "Autorisation: porteur za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6nAZ0y6ElzDT3yH3MT5"

38
Vijay Madhavapeddi
  1. allez à https://console.developers.google.com/apis/credentials
  2. créer des informations d'identification d'application Web.

Accès API Postman

  1. utilisez ces paramètres avec oauth2 dans Postman:

SCOPE = https: //www.googleapis.com/auth/admin.directory.userschema

poste https: //www.googleapis.com/admin/directory/v1/customer/customer-id/schemas

{
  "fields": [
    {
      "fieldName": "role",
      "fieldType": "STRING",
      "multiValued": true,
      "readAccessType": "ADMINS_AND_SELF"
    }
  ],
  "schemaName": "SAML"
}
  1. patcher l'utilisation de l'utilisateur:

SCOPE = https://www.googleapis.com/auth/admin.directory.user

PATCH https://www.googleapis.com/admin/directory/v1/users/[email protected]

 {
  "customSchemas": {
     "SAML": {
       "role": [
         {
          "value": "arn:aws:iam::123456789123:role/Admin,arn:aws:iam::123456789123:saml-provider/GoogleApps",
          "customType": "Admin"
         }
       ]
     }
   }
}
11
Mohammed Almusaddar

J'ai compris que je ne générais pas d'informations d'identification pour le type d'application approprié.
Si vous utilisez Postman pour tester les API Google oAuth 2, sélectionnez
Informations d'identification -> Ajouter des informations d'identification -> ID client OAuth2.0 -> Application Web .

enter image description here

7
Sai

C'est une vieille question, mais elle n'a pas de réponse choisie et je viens de résoudre ce problème moi-même. Voici ma solution:

  1. Assurez-vous d’abord que vous êtes prêt à utiliser votre API Google. Consultez la liste de prérequis de Google . Je travaillais avec Google My Business, j'ai donc également suivi le processus Get Started .

  2. Dans la zone de jeu OAuth 2.0 , l'étape 1 requiert la sélection de l'API que vous souhaitez authentifier. Sélectionnez ou saisissez selon votre cas (dans mon cas pour Google My Business, je devais saisir https://www.googleapis.com/auth/plus.business.manage dans le champ de saisie "Entrez vos propres étendues"). Remarque: il s'agit de la même chose que celle décrite à l'étape 6 de la section "Créer une requête HTTP simple" du guide Mise en route.

  3. En supposant qu'une authentification soit réussie, vous devriez obtenir un "jeton d'accès" renvoyé à l'étape "Résultat de l'étape 1" du jeu OAuth. Copiez ce jeton dans votre presse-papiers.

  4. Ouvrez Postman et ouvrez la collection de votre choix selon vos besoins.

  5. Dans Postman, assurez-vous que "GET" est sélectionné comme type de demande et cliquez sur l'onglet "Autorisation" sous le menu déroulant du type de demande.

  6. Dans le menu déroulant "TYPE" d'autorisation, sélectionnez "Jeton de support".

  7. Collez votre "Jeton d'accès" précédemment copié que vous avez copié depuis le terrain de jeu OAuth dans le champ "Jeton" qui s'affiche dans Postman.

  8. Presque là! Pour vérifier si tout fonctionne, placez https://mybusiness.googleapis.com/v4/accounts/ dans la barre de saisie principale de l'URL dans Postman, puis cliquez sur le bouton Envoyer. Vous devriez obtenir dans la réponse une liste de comptes JSON ressemblant à ceci:

    
    {
        "accounts": [
            {
                "name": "accounts/REDACTED",
                "accountName": "REDACTED",
                "type": "PERSONAL",
                "state": {
                    "status": "UNVERIFIED"
                }
            },
            {
                "name": "accounts/REDACTED",
                "accountName": "REDACTED",
                "type": "LOCATION_GROUP",
                "role": "OWNER",
                "state": {
                    "status": "UNVERIFIED"
                },
                "permissionLevel": "OWNER_LEVEL"
            }
        ]
    }
    
4
irmalcol