So rufen Sie https://www.googleapis.com/plus/v1/people/me bei Google auf

8

Ich entwickle eine Android-Anwendung und brauche die "me" -Info von Google, aber ich lande immer in Antwortcode 401 oder 403. Was mache ich falsch? Hier ist mein Code:

%Vor%

Ich bekomme das OAUTH Token von (Hinweis ... Code unten ist abgekürzt):

%Vor%

So weit so gut ... Ich habe jetzt ein Token, also sieht hier alles gut aus.

Jetzt hol mir die Info:

%Vor%

Dies gibt den Antwortcode 401.

Ich habe es auch versucht:

%Vor%

Dies ergibt den Antwortcode 403 - Etwas wie "Tägliches Limit überschritten. Bitte melden Sie sich an".

Was mache ich falsch? Was habe ich verpasst? Wie soll das gemacht werden?

Danke

// Bearbeitungen unten Etwas mehr Untersuchung: Ich habe ein Projekt in code.google.com/apis/console hinzugefügt und den von dort generierten Schlüssel in die URL übernommen. Ссылка "+ authToken. Jetzt funktioniert der Anruf einwandfrei und ich bekomme eine 200 Antwort mit den richtigen Informationen. Aber ich möchte diese Methode wirklich nicht verwenden, wenn ich nicht muss und laut google sollte ich nicht "• Wenn die Anfrage eine Autorisierung erfordert (wie zB eine Anfrage für private Daten einer Person), dann muss sie enthalten ein OAuth 2.0-Token. Es kann auch den API-Schlüssel enthalten, muss es aber nicht. " - aus developers.google.com / + / api / oauth.

Eine andere Sache: Wenn ich eine andere URL versuche wie " Ссылка " + authToken es funktioniert gut.

    
user1140596 24.01.2012, 15:49
quelle

6 Antworten

13

Das Problem betrifft den einfachen API-Schlüssel, der in die Anfrage eingegeben wurde.

Wenn der Schlüsselparameter nicht in der Anfrage enthalten ist oder wenn die Google+ API für dieses Projekt nicht aktiviert wurde, erhalten Sie den Fehler:  "Tageslimit überschritten. Bitte anmelden".

Um dieses Problem zu lösen, müssen Sie Folgendes tun:

  • Besuchen Sie die Google API-Konsole hier: Ссылка
  • Stellen Sie im Bereich "Dienste" sicher, dass die Google+ API aktiviert ist.
  • Klicken Sie in der APIs-Konsole im linken Menü auf API-Zugriff.
  • Kopieren Sie den API-Schlüssel nach unten.
  • Fügen Sie diesen API-Schlüssel in Ihre HTTP-Anfrage ein.
%Vor%
    
Chirag Shah 10.05.2012 22:03
quelle
3

Die meisten der neueren Google-APIs haben Kontingente (wie die täglichen Nutzungsbeschränkungen) und einige haben sogar Abrechnungsunterstützung (wo Sie pro API-Aufruf abgerechnet werden). Diese Kontingente und Abrechnungen werden pro Entwicklerprojekt berechnet und nicht pro Endbenutzer. Daher muss Google wissen, welcher App Ihre API-Nutzung zugewiesen wird.

API-Clients, die OAuth 2.0 von Google verwenden, müssen sich normalerweise registrieren und eine Client-ID und ein Client-Geheimnis erhalten.

Diese Client-ID und der geheime Client-Schlüssel werden von der Google APIs-Konsole zurückgegeben: code.google.com/apis/console.

Sie verwenden diese Werte dann in Ihrer Anwendung. Dadurch wird Ihre App identifiziert und Google kann Ihre API-Nutzung Ihrem Entwicklerkonto / Projekt zuweisen.

In der von Ihnen verwendeten AccountManger-Benutzeroberfläche wird von Ihrer App keine Kunden-ID übermittelt, sodass Google nicht ermitteln kann, welches Entwicklerkonto / Projekt-Kontingent für die Nutzung abgezogen werden soll. Es weiß auch nicht, dass die API von Ihnen als Entwickler ordnungsgemäß aktiviert (TOS akzeptiert usw.) wurde. Aus diesem Grund bitten wir Sie, "sich bitte anzumelden" und zu sagen, dass das "Tageslimit überschritten" ist (da das nicht registrierte Limit bei vielen APIs Null ist).

In diesem Szenario müssen Sie den "Schlüssel" -Wert übergeben, damit Sie auf APIs mit OAuth 2.0-Token zugreifen können, die vom AccountManager abgerufen wurden.

    
Ryan Boyd 10.05.2012 21:57
quelle
1

Warum versuchen einige von Ihnen nicht, zur Google Console zu gehen? Auf diese Weise haben Sie Zugriff auf die Tools, die Sie benötigen, um mindestens 403 forbidden problems zu korrigieren. DMC

    
A Boss 22.03.2012 03:00
quelle
0

Sie verwenden derzeit http, aber Sie rufen tatsächlich die Website über https an. Verwenden Sie entweder eine sichere Verbindung oder verwenden Sie die http: // -Adresse.

(Sorry, ich konnte es noch nicht kommentieren)

    
Scalarr 24.01.2012 18:36
quelle
0

Erstellen Sie ein neues Authentifizierungs-Token und ein neues Geheimnis für Ihre Anwendung und versuchen Sie es erneut.

Das könnte Ihr Problem lösen, aber Ihr tägliches Wiederholungslimit ist möglicherweise erschöpft ...

Ich hatte das gleiche Problem wie du.

    
sandeep 25.01.2012 11:46
quelle
0

Ich habe das gleiche Problem, das Sie nur brauchen, um Google + API zu aktivieren in der Konsole genieße:)

    
Ijaz Ahmed Bhatti 20.10.2017 10:58
quelle

Tags und Links