Ich versuche, mit Postman chrome app auf Proximity Google API zuzugreifen. Ich habe Tutorials auf der Website von Briefträger und Google Dev befolgt, erhalte aber immer noch die Fehlermeldung 401.
Was mache ich?
Um die Proximity-API verwenden zu können, muss sie zuerst in der Google Dev-Konsole aktiviert werden. Mit this Tutorial habe ich die Unterstützung für die Proximity API für mein Projekt aktiviert
Laut this Tutorial brauche ich eine Kunden-ID und ein Geheimnis. Hier bin ich verwirrt. Anmeldeinformationen-> Anmeldeinformationen hinzufügen-> OAuth2.0-Client-ID-> Optionsfeld Chrome App auswählen (da ich Postman verwende) -> letzten Teil der Chrome Web-Store-URL von Postman eingeben [ Das ist fhbjgbiflinjbdggehcddcbncdddomop] -> Klick auf die Schaltfläche "Erstellen" Diese Schritte generieren nur eine Client-ID, kein Geheimnis. Mache ich etwas falsch?
Über die Google Dev-Konsole kann eine JSON-Datei mit Client-ID, Authentifizierungs-URI und Token-URI heruntergeladen werden
Ich habe dies heruntergeladen, aber dies ist wenig hilfreich, wenn ich Postman verwende. Ich vermute, dass diese JSON-Datei in einer JS-Anwendung enthalten sein kann.
Wenn ich auf die Debug-URL klicke, wird der folgende Bildschirm angezeigt
Postman fragt die Google-API ab, die sich als Webanwendung ausgibt
Generiere ein OAuth 2.0 Token:
Erstellen Sie eine OAuth 2.0-Client-ID
getpostman.com
zu den autorisierten Domains. Klicken Sie auf Speichern.https://www.getpostman.com/oauth2/callback
Client ID
und Client secret
Felder zur späteren VerwendungWählen Sie im Postboten die Registerkarte Autorisierung und anschließend den Typ "OAuth 2.0". Klicken Sie auf "Get New Access Token".
https://www.getpostman.com/oauth2/callback
https://accounts.google.com/o/oauth2/auth
https://accounts.google.com/o/oauth2/token
Client ID
in Schritt 2 generiert (z. B. "123456789012-abracadabra1234546789blablabla12.apps.googleusercontent.com")Client secret
in Schritt 2 generiert (z. B. 'ABRACADABRAus1ZMGHvq9R-L')https://www.googleapis.com/auth/cloud-platform
)Der beste Weg, den ich bisher gefunden habe, ist, hier zum Oauth= Spielplatz zu gehen: https://developers.google.com/oauthplayground/
Fügen Sie im HTTP-Header für die REST API-Anforderung Folgendes hinzu: "Authorization: Bearer". Hier ist Authorization der Schlüssel und "Bearer". Beispiel: "Authorization: Bearer za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6nAZT5T0y"
benutze diese Einstellungen mit oauth2 in Postman:
Zugriffs-Token-URL = https://accounts.google.com/o/oauth2/token
SCOPE = https://www.googleapis.com/auth/admin.directory.userschema
{
"fields": [
{
"fieldName": "role",
"fieldType": "STRING",
"multiValued": true,
"readAccessType": "ADMINS_AND_SELF"
}
],
"schemaName": "SAML"
}
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"
}
]
}
}
}
Dies ist eine alte Frage, aber sie hat keine gewählte Antwort und ich habe dieses Problem gerade selbst gelöst. Hier ist meine Lösung:
Stellen Sie zunächst sicher, dass Sie für die Arbeit mit Ihrer Google-API eingerichtet sind. Siehe Googles Liste der Voraussetzungen . Ich habe mit Google My Business gearbeitet, also habe ich auch den Prozess Erste Schritte durchlaufen.
Bei OAuth 2.0-Spielplatz müssen Sie in Schritt 1 auswählen, welche API Sie authentifizieren möchten. Wählen Sie die für Ihren Fall zutreffende Option aus oder geben Sie sie ein (in meinem Fall für Google My Business musste ich https://www.googleapis.com/auth/plus.business.manage in das Feld "Geben Sie Ihre Adresse ein" ein Eingabefeld "Eigene Bereiche"). Hinweis: Dies ist das Gleiche wie in Schritt 6 des Abschnitts "Einfache HTTP-Anforderung erstellen" des Erste Schritte Handbuchs .
Vorausgesetzt, die Authentifizierung ist erfolgreich, sollten Sie ein "Zugriffstoken" erhalten, das im Schritt "Ergebnis von Schritt 1" auf dem Spielplatz OAuth=) zurückgegeben wird. Kopieren Sie dieses Token in Ihre Zwischenablage.
Öffnen Sie Postman und öffnen Sie die gewünschte Sammlung nach Bedarf.
Stellen Sie in Postman sicher, dass "GET" als Anfragetyp ausgewählt ist, und klicken Sie auf die Registerkarte "Autorisierung" unter der Dropdown-Liste für den Anfragetyp.
Wählen Sie im Dropdown-Menü Authorization "TYPE" die Option "Bearer Token".
Fügen Sie Ihr zuvor kopiertes "Access Token", das Sie vom OAuth Spielplatz kopiert haben, in das Feld "Token" ein, das in Postman angezeigt wird.
Fast dort! Um zu testen, ob etwas funktioniert, geben Sie https://mybusiness.googleapis.com/v4/accounts/ in die Haupt-URL-Eingabeleiste von Postman ein und klicken Sie auf die Schaltfläche "Senden". Sie sollten eine JSON-Liste mit Konten in der Antwort erhalten, die ungefähr wie folgt aussieht:
{
"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"
}
]
}