Google Analytics API-Anmeldung erforderlich-Fehler
Ich habe ein seltsames problem, dass ich versucht habe zu lösen, aber ich habe versucht, einen ganzen Tag und es will einfach nicht funktionieren, so hoffe ich, dass vielleicht jemand anderes kann mir dabei helfen.
Ich haben ein CMS und nachdem Sie sich anmelden, sehen Sie das dashboard.
Auf diesem dashboard können Sie auf eine Schaltfläche klicken, um verbinden Sie Ihr Konto mit Google - weil ich möchte, dass meine Kunden in der Lage sein, um verbinden Sie Ihr Google Analytics-Konto.
Funktioniert alles einwandfrei, ich habe Token und refresh token und alles scheint zu funktionieren. Auch wenn ich bitte mein user-Profil-Daten bekomme ich es ausgedruckt auf meinem Bildschirm wie ein array. Aber wenn ich versuche die Konten, die vorhanden sind anzeigen für den angemeldeten Benutzer bekomme ich diesen Fehler:
Uncaught exception 'Google_Service_Exception' with message 'Error calling GET
https://www.googleapis.com/analytics/v3/management/accounts/~all/webproperties
key=xxxxxxxxxxxxxxxxxxxxxxxxxx: (401) Login Required'
Ich verstehe nur nicht, warum bekomme ich die Meldung 'Anmeldung erforderlich'.
Unten können Sie sehen, mein Skript.
require_once('/Google/Client.php');
require_once('/Google/Service/Analytics.php');
//call object
$client = new Google_Client();
$client->setApplicationName("Google Analytics - CMS title");
$client->setClientId('xxxxxxxxxxxxxxxxx');
$client->setClientSecret('xxxxxxxxxxxxxxxx');
$client->setRedirectUri('xxxxxxxxxxxxxxxxxxx');
$client->setDeveloperKey('xxxxxxxxxxxxxxxxxxx');
$client->setApprovalPrompt('auto');
$client->setAccessType('offline');
$client->setScopes(array(
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/analytics'
));
//decode
$token = $token; //this comes from my database and it's json encoded
//connect
$client->setAccessToken($token);
//call service
$service = new Google_Service_Analytics($client);
//get accounts from analytics
$accounts = $service->management_accounts->listManagementAccounts();
Wenn ich versuche, var_dump $ - Konten sehe ich nichts, weil der Fehler bereits aufgetreten (Login erforderlich)
Ich denke, Sie werden mich nun Fragen, wenn mein token korrekt ist, aber es ist da, getestet habe ich es mit anderen api-aufrufen.. es funktioniert einfach nicht für diese spezielle analytics-Anfrage.
Ich hoffe mir kann jemand helfen mit diesem.
Dank,
Pim-vd Molen
UPDATE:
Etwas wirklich seltsames ist gerade passiert. Ich weiß nicht, wie das möglich ist, aber der Fehler wurde nur in einen anderen Fehler:
Uncaught exception 'Google_Service_Exception' with message 'Error calling GET
https://www.googleapis.com/analytics/v3/management
/accounts?key=xxxxxxxxxxxxxxxxxx: (403) Access Not Configured.
Please use Google Developers Console to activate the API for your project.
Habe ich aktiviert die Google Analytics-service natürlich, aber weiß nicht, welches ich auch aktivieren müssen.
Vielen Dank für Ihre Antwort nickspiel. lösche die Sitzung ist nicht notwendig, da diese Sitzung gar nicht existiert (ich var_dumped ($_SESSION) ..nachdem ich angeschlossen hab ich legte den token in meiner Datenbank und das ist, wo bekomme ich es von jeder Seite neu zu laden)
InformationsquelleAutor Pim vd Molen | 2014-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den 401-Fehler klar besagt, dass die Anmeldeinformationen falsch sind. Das Token gültig für das abrufen von Daten, aber für das abrufen von Benutzer-management-Informationen, müssen Sie eine bestimmte gewähren, wenn diese zu bitten, token, schauen Sie bitte hier in der Tabelle sehen Sie den Mehrwert für den
scope
parameter in die OAuth-Anfrage.plz Antwort, ich bin vor demselben Problem wie Pim-vd Molen
401
=401
= - Anmeldeinformationen falsch. Google liegt nicht auf Fehlermeldungen. Überprüfen Sie Ihre Anfrage: hast du url-Kodieren der Anmeldeinformationen? Wenn ja, entfernen, Sie sind plain ascii!InformationsquelleAutor Axel Amthor
nicht sicher, ob du das Problem gelöst, aber ich habe es dokumentiert den Prozess, mit Fotos hier:
https://circlical.squarespace.com/blog/2014/7/18/getting-zend-framework-2-and-googles-api-to-play-nice
InformationsquelleAutor Saeven