Je parcourt les profils de compte Google Analytics à l'aide de l'API management(). Goals() et découvre les objectifs créés chacun, pour savoir ce que je peux extraire des données. . Après avoir obtenu une instance de service valide, je peux faire des demandes contre, les objectifs() liste() ne se plaignant de paramètre webPropertyId manquant:GA: Liste des objectifs API: webPropertyId = '~ all' requête renvoie http 400 "webPropertyId" doit être spécifié
# not including the ServiceAccountCredentials setup here
from apiclient.discovery import build
service = build('analytics', 'v3', http=http)
service.management().goals().list(accountId=account_id, webPropertyId='~all', profileId=profile_id)
La dernière ligne échoue avec:
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/analytics/v3/management/accounts/nnnnnnnnn/webproperties/%7Eall/profiles/nnnnnnnnn/goals?alt=json returned "webPropertyId must be specified.">
[I remplacé les numéros de compte/profil après/comptes/et/profiles/avec nnnnnnnnn pour ce poste, pour la vie privée; l'erreur réelle a des chiffres là-bas]
Le bit relevent: webPropertyId must be specified.
Je fournir le paramètre que webPropertyId
, et si je l'enlève-je obtenir une autre erreur: TypeError: Paramètre obligatoire manquant « webPropertyId »
Je peux réussir à faire des requêtes pour extraire d'autres métadonnées et informations d'utilisateur et données analytiques de l'API de gestion. Qu'est-ce qui pourrait mal tourner ici? Je ne suis pas autorisé à utiliser la valeur ~all
ici et doit être plus spécifique? Je suis assez nouveau à leur API d'analyse.
Le compte, la propriété Web et la vue (profil) peuvent être considérés comme un arbre hiérarchique. Un compte a de nombreuses propriétés Web, une propriété Web a plusieurs vues (profils). Il est donc logique d'utiliser le qualificatif '~ all 'du bas de l'arbre. Si vous connaissez un ID de vue (profil), vous devez également connaître la propriété Web parent, car une vue n'a qu'une seule propriété, ce qui signifie que '~ all 'pour une vue spécifique (profil) ne fonctionne pas. Il serait préférable de concevoir le code avec l'arborescence hiérarchique tel que compris, peut-être en appelant d'abord 'analytics.accountSummaries.list()' – Matt