Je crée un script, basé sur le guide étape par étape de Google Analytics à partir de cette page:
https://developers.google.com/analytics/resources/tutorials/hello-analytics-api
L'autorisation se fait sans problème, jusqu'à ce qu'il tente d'accéder aux données. Le code retour est 403 et le message d'erreur est:
L'utilisateur n'a pas de compte Google Analytics
Ce message n'a aucun sens: mon compte contient des données Google Analytics, le suivi de plusieurs sites Web et je peux y accéder à partir du navigateur Web sans problème. J'ai autorisé l'API Analytics via la console des API Google, et l'accès à l'API me donne les bonnes données.
la source
Ajoutez simplement l'e-mail que vous avez donné (format de
71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com
)aux gestionnaires d'utilisateurs:
Je souhaite que cela vous aide
la source
J'étais confronté au même problème. Il a été résolu en ajoutant l'ID de messagerie de l'utilisateur du compte de service (
your [email protected]
) aux utilisateurs de votre compte Analytics sous-Analytics-Home Page -> Admin (volet de gauche) -> Gestion des utilisateurs -> ajouter (cliquez sur le signe plus sur le côté droit du menu) -> Ajouter un nouvel utilisateur -> Ajouter l'ID de messagerie dans entrez les adresses e-mail.
Maintenant, cela résoudra le problème.
la source
Cela est mentionné dans un commentaire ci-dessus, mais si vous ajoutez l'adresse e-mail sous la gestion des utilisateurs de votre compte , cela ne fonctionnera pas. Vous devez cliquer sur la gestion des utilisateurs sous la partie vue de l'écran.
la source
User Management
lien sous Vue de ma finVous obtiendrez également cette erreur si vous ne vous êtes jamais connecté avec le compte Google avec lequel vous essayez de vous authentifier.
la source
J'obtenais l'erreur 403 jusqu'à ce que je change les autorisations du compte de messagerie de l'intérieur de Google Analytics de `` Lire et analyser '' à autre chose, je l'enregistre, puis je change les autorisations en `` Lire et analyser '' et cela a fonctionné.
la source
Juste au cas où cela ne fonctionne pas, essayez d'ouvrir votre fichier JSON que vous avez téléchargé et recherchez
client_email
et copiez cette adresse e-mail et ajoutez-la au fichier de visualisationCliquer sur
Si ça ne marche toujours pas
la source
Je frappais l'erreur 403. Ces étapes m'ont contourné. Pour être clair, j'essayais de faire en sorte que l'exemple de Google "HelloAnalytics.php" fonctionne avec OAuth (sans interaction de l'utilisateur, adapté au travail cron, etc.).
Après avoir activé l'API Analytics, j'ai créé un nouveau "Compte de service" sous API & Auth / Credentials; et a enregistré la paire de clés .p12. Je suis ensuite entré dans la console de gestion des utilisateurs Analytics et j'ai ajouté l'adresse e-mail de cet utilisateur du service.
L'autorisation .p12 à l'aide de l'API PHP fonctionne si je coche uniquement "Lire et analyser" uniquement dans la liste des autorisations. Si j'ajoute «Gérer les utilisateurs» et / ou «Modifier», j'obtiens le 403. J'espère que cela vous sera utile, j'ai travaillé dessus pendant quelques heures ...
la source
J'ai eu ce problème aussi, et j'ai trouvé que le problème était que j'avais demandé trop d'autorisations. La Developer Console dit de demander les deux
http://www.googleapis.com/auth/analytics
et leshttp://www.googleapis.com/auth/analytics.readonly
autorisations. Cela n'a pas fonctionné lorsque j'utilisais également lasub
revendication. Unesub
réclamation demande à Google d'émettre un jeton d'accès qui fonctionne pour le compte d'un autre utilisateur - dans mon cas, le compte Google qui possède le compte de service. J'ai supprimé l'analytics
autorisation et je suis resté fidèleanalytics.readonly
à la revendication secondaire:Le jeton Bearer émis me permet d'effectuer (au moins certaines) des requêtes Google Analytics sur des profils appartenant à des comptes Google complètement différents, mais qui ont été partagés (en lecture seule) avec mon utilisateur gmail ([email protected]) .
la source
J'ai réussi à résoudre ce problème en m'assurant que le
client = Google :: APIClient.new (: nom_application => 'X',: version_application => '1')
La variable de nom d'application 'X ci-dessus était le nom du COMPTE sur le tableau de bord GA, et non le nom de la PROPRIÉTÉ, qui dans mon cas était l'URL réelle du site auquel je souhaite accéder.
Confus, mais heureusement corrigé (sans merci à Google!)
la source
Le problème se produit car nous ne fournissons pas d'argument "sous". À moins que nous ne fournissions cela, l'appel se produit au nom de ce long courrier électronique de compte de service.
Il suffit donc de fournir un sous-argument, avec un e-mail auquel vous avez déjà donné accès dans le rapport et les choses devraient bien fonctionner!
la source
J'ai eu la même erreur, car je ne me suis pas connecté à Google Analytics. Je l'avais donc résolu en me connectant au compte analytique.
la source
Ce message que nous recevons lorsqu'aucune autorisation n'est accordée
client_email
, dans google alalytics ,client_email
ne provient du fichier JSON . pour accorder l'autorisationclient_email
que vous utilisez dans votre application, accédez au site Google Analytics et cliquez sur "Admin (icône de configuration)"vous obtiendrez la liste du menu à droite, cliquez sur "Afficher la gestion des utilisateurs"
Là, vous verrez l'icône "+" et "ajouter un utilisateur",
une fois que vous avez cliqué dessus, vous devez ajouter
client_email
le "champ d'adresse e-mail" et l'enregistrer, vous devriez être prêt à partir!la source
L'utilisateur pour lequel vous essayez d'utiliser l'API n'a pas activé son service GA.
Il ne suffit pas d'avoir un compte Google .
la source
Au lieu d'utiliser un compte de service, vous pouvez éviter la nécessité d'ajouter de nouvelles autorisations utilisateur (selon les principales réponses de ce fil de discussion) en utilisant les
OAuth client ID
informations d'identification.Accédez au tableau de bord des informations d'identification de l' API et cliquez sur "Créer des informations d'identification" -> "ID client OAuth". Ensuite, vous devriez obtenir un ID client et un secret client dont vous aurez besoin pour authentifier l'API.
Vous pouvez désormais l'utiliser
OAuth2WebServerFlow
pour vous authentifier à chaque utilisation. Voici un exemple python3:la source