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.
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:
%Vor%
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.
Ich habe das gleiche Problem, das Sie nur brauchen, um Google + API zu aktivieren in der Konsole genieße:)