Google Analytics-API: "Der Nutzer verfügt nicht über ausreichende Berechtigungen für dieses Konto."
Schreibe ich ein Ruby-app greift auf die Google Analytics API zu ziehen, um einige experiment Informationen.
Die app verbindet und authentifiziert sich mit Hilfe einer Google-Service-Konto über die folgenden Funktion:
def connect
...
@@client = Google::APIClient.new(:application_name => 'My Service App',
:application_version => '1.0.0')
key_file = Rails.root.join('config', 'privatekey.p12').to_s
key_secret = 'somesecret'
key = Google::APIClient::PKCS12.load_key(key_file, key_secret)
asserter = Google::APIClient::JWTAsserter.new(
SECRETS[:google_service_account_email],
['https://www.googleapis.com/auth/yt-analytics.readonly',
'https://www.googleapis.com/auth/analytics.readonly'
],
key
)
@@client.authorization = asserter.authorize()
...
end
..., der Sie authentifiziert und entdeckt beide APIs, ohne Frage.
Mithilfe des Kunden gegen die YouTube-Analytics-API funktioniert ohne Problem. Mit exakt das gleiche Konto für den Zugriff auf die Analytics-API-über...
response = @@client.execute({
# 'analytics is the API object retrieved via discover_api()
:api_method => analytics.management.experiments.list,
:parameters => {
'accountId' => 'AAAAAAAA',
'profileId' => 'PPPPPPPP',
'webPropertyId' => 'UA-WWWWWWWW-#'
}
})
Ergebnisse in eine 403-error-response:
{"domain":"global","reason":"insufficientPermissions","message":"User does not have sufficient permissions for this account."}
In Bezug auf die Genehmigung, ich habe doppelt überprüft das Konto [email protected]:
- Verfügt über volle Berechtigungen für den Google Analytics-web-interface. Ich mich eingeloggt habe mit dem [email protected] Konto und war in der Lage, die gleichen Experimente habe ich versucht, die Liste.
- Hat der Analytics-API. Innerhalb der API Konsole, bestätigte ich in der Services-Sektion, dass die Analytics-API item-Schalter AUF on. (Genau wie YouTube Analytics ist.)
- Ich bin mit den entsprechenden AccountID, ProfileID, und WebPropertyID Werte. Direkt kopiert aus der Google Analytics-web-interface.
Gegeben, dass das Dienstkonto Zugriff auf die mindestens eine API (YouTube Analytics) und der damit verbundenen Konto - ([email protected]) Zugriff auf die Analytics-web-interface, es scheint etwas falsch mit dem service-Konto, das Zugriff auf die Analytics-API im besonderen.
Irgendwelche Ideen?
Ähnliche Themen:
- "Nicht ausreichende Berechtigungen" google analytics-API-service-Konto (HINWEIS: Dieser Fehler ist etwas anders als meins)
- Analytics blog-post, überprüfen Sie die Kommentare Abschnitt 'Berechtigungen'
InformationsquelleAutor der Frage David Elner | 2014-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, Sie geben Sie die service-Konto-E-Mail (so etwas wie [email protected] die Berechtigungen zum Lesen/schreiben von Ihrem GA anzeigen.
Admin - > Ansicht - > Benutzer-Management > "Hinzufügen von Berechtigungen für:"
InformationsquelleAutor der Antwort Goose
Bei der Auswahl der richtigen id!
In meinem Fall war ich mit den richtigen Zugangsdaten (account-id, account -, Geheimnis -> authorization_code -> access_token) UND hatte die E-Mail-Berechtigungen richtig eingestellt, aber ich war mit dem Konto-id auf die Admin - > Konto-Einstellungen Seite und einfach das hinzufügen von ga: an der Vorderseite.
Die id, die Sie wirklich brauchen, ist die Tabellen-id! (oder ist das die eine, die arbeitete für mich zumindest, da die meisten Menschen hier sind zu erwähnen die Konto-id, die nicht für mich arbeiten.). Sie können finden, dass eine hier: https://ga-dev-tools.appspot.com/account-explorer/
Dann können Sie die Abfrage als
Fand ich diese API zu schlecht dokumentiert insgesamt und die UI war unklar. Aber vielleicht ist das nur mir.
InformationsquelleAutor der Antwort Simon Somlai
Wenn Sie immer noch sehen, diese Nachricht, nachdem Sie Sie Hinzugefügt haben, Ihre E-Mail-Entwickler zu analytischen Benutzer.
Müssen Sie Umfang, um das Objekt, bevor die neue Google_Service_Analytics($client);
$client->setScopes("https://www.googleapis.com/auth/plus.login");
Ich verbrachte einen ganzen Tag versuchen, diese zu lösen!
InformationsquelleAutor der Antwort Qin Wang
Musste ich auch gehen, um die Entwickler-Konsole, und aktivieren Sie die API, um es zu schaffen. Gehen Sie zu die Entwickler-Konsole und wählen Sie Ihr Projekt aus und aktivieren Sie die API(s), die Sie verwenden möchten.
InformationsquelleAutor der Antwort John
Sogar nach dem hinzufügen der E-Mail, um das Konto in analytics hatte ich immer noch die gleiche Berechtigung problem, aber folgenden Vorschlag geholfen hat es aber leider nicht lösen:
$client->setScopes("https://www.googleapis.com/auth/plus.login");
Nicht für mich arbeiten, aber diese haben:
$client->setScopes("https://www.googleapis.com/auth/analytics");
https://ist jetzt gefordert, sich zu authentifizieren.
InformationsquelleAutor der Antwort user2760338
Stellen Sie sicher, dass Sie die richtige table_id
InformationsquelleAutor der Antwort Shane
Wenn jemand hat mehr Sicht, die er verwenden soll, die anzeigen-ID.
InformationsquelleAutor der Antwort Laci