Utiliser Postman pour accéder à Google APIs OAuth 2.0

je suis en train d'essayer d'accéder à proximité API Google en utilisant Facteur de chrome app. J'ai suivi des tutoriels sur postman et sur le site de google dev, mais j'ai encore un message d'erreur 401.

Ce que je fais?

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

pour utiliser L'API de proximité, il faut d'abord l'activer dans Google Dev console. En utilisant tutoriel j'ai activé le support pour API de proximité pour mon projet

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

Selon tutoriel, j'ai besoin d'obtenir l'identification du client et le secret. C'est là que je suis confus. Credentials - > Add credentials - > OAuth2.0 ID du client - > sélectionnez le bouton radio de L'application Chrome (puisque J'utilise Postman) - > saisissez la dernière partie de L'URL du magasin Web Chrome de Postman [qui est fhbjgbiflinjbdggehcddcbncdddomop] - > appuyer sur le bouton Créer ces étapes ne généreront qu'un identification du client, pas un secret. est-ce que je fais quelque chose de mal?

à partir de la console de Google Dev, on peut télécharger un fichier JSON qui a l'identifiant du client, l'URI d'auteur et L'URI du Token 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 API

enter image description here

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

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

enter image description here

24
demandé sur Sai 2015-08-18 18:24:08

4 réponses

La meilleure façon que j'ai trouvé pour l'instant est d'aller à la Oauth terrain de jeu ici: https://developers.google.com/oauthplayground/

  1. Sélectionnez l'api google catégorie, puis sélectionnez le champ à 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". Changer le code d'autorisation pour token en cliquant sur le bouton bleu.
  3. stocker le jeton OAuth2 et l'utiliser comme indiqué dessous.

dans L'en-tête HTTP pour la requête de L'API REST, ajouter: "Authorization: Bearer". Ici, l'Autorisation est la clé, et "Porteur ". Par exemple: "autorisation: titulaire za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6naz0y6elzdt3yh3mt5"

24
répondu Vijay Madhavapeddi 2016-12-06 19:36:47
  1. https://console.developers.google.com/apis/credentials
  2. créer des justificatifs d'identité pour les applications web.

accès à L'API Postman

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

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

post 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. patch utilisateur utilisation:

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

PATCH https://www.googleapis.com/admin/directory/v1/users/admin@email.com

 {
  "customSchemas": {
     "SAML": {
       "role": [
         {
          "value": "arn:aws:iam::123456789123:role/Admin,arn:aws:iam::123456789123:saml-provider/GoogleApps",
          "customType": "Admin"
         }
       ]
     }
   }
}
7
répondu Mohammed Almusaddar 2018-03-18 00:46:18

je me suis rendu compte que je ne générais pas de justificatifs d'identité pour le type d'application approprié.

Si vous utilisez Postman pour tester Google oAuth 2 API, sélectionnez

Credentials - > Add credentials - > OAuth2.0 ID du client - > Application Web.

enter image description here

7
répondu Sai 2018-03-18 17:16:41

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 configuré pour fonctionner avec votre API Google. Voir Google liste des pré-requis. Je travaillais avec Google My Business, moi aussi je suis allé à travers elle Commencer processus.

  2. Dans le OAuth 2.0 aire de jeux, L'Étape 1 vous demande de sélectionner quelle API vous voulez authentifier. Sélectionnez l'entrée ou comme applicables dans votre cas (dans mon cas pour Google Mon Entreprise, j'ai dû d'entrée https://www.googleapis.com/auth/plus.business.manage dans le "Entrée de votre propre étendues" champ de saisie). Note: c'est la même chose que ce qui est décrit à l'étape 6 de la section "Make a simple HTTP request" de Commencer guide.

  3. en supposant une authentification réussie, vous devriez obtenir un Le " jeton d'accès "est retourné à L'étape" résultat de L'Étape 1 " dans le terrain de jeu D'OAuth. Copiez ce code dans votre presse-papiers.

  4. ouvrez Postman et ouvrez la collection que vous voulez comme nécessaire.

  5. dans Postman, assurez-vous que "GET" est sélectionné comme type de requête, et cliquez sur L'onglet "Authorization" sous le menu déroulant Type de requête.

  6. dans le menu déroulant autorisation "TYPE", sélectionnez " porteur Token"

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

  8. on y est Presque! Pour tester si les choses fonctionnent, mettezhttps://mybusiness.googleapis.com/v4/accounts/ dans la barre D'entrée principale de L'URL dans Postman et cliquez sur le bouton Envoyer. Vous devriez obtenir une liste JSON des comptes de retour dans la réponse qui ressemble à quelque chose comme le suivantes:

    
    {
        "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"
            }
        ]
    }
    
1
répondu irmalcol 2018-07-18 21:39:55