Google Analytics未采样报告:如何设置目标位置(Google Drive或GCS)?

2024-09-30 16:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

从GA管理API获取未采样报告

我需要以编程方式下载google analytics未采样报告,并最终将其存储到BigQuery daily中

我的第一步实际上是能够下载一份未取样的报告

通过GA管理API v3导航,我能够使用python获取给定报告的元数据:

{
    "id": "ONJ5uJntQ5Ku4U5vZ6z5tQ",
    "kind": "analytics#unsampledReport",
    "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXX/webproperties/UA-XXXX/profiles/XXXX/unsampledReports/ONJ5uJntQ5Ku4U5vZ6z5tQ",
    "title": "MCF Export 20201124 20201124",
    "accountId": "XXXX",
    "webPropertyId": "UA-XXXX",
    "profileId": "XXXX",
    "status": "COMPLETED",
    "created": "2020-11-25T21:22:35.308Z",
    "updated": "2020-11-25T21:24:13.695Z"
}

如本相关帖子所述:Unable to download unsampled report from Google Analytics using Java

selflink属性是资源的实际链接,但不是下载端点

要编写报告,需要查询GDrive或GCS API

我的问题是:如何判断报告的去向

至于现在,当查询报表数据时,没有位置URI,我仍然会收到这样的部分答案:Why is Google Analytics API for Unsampled Reports not showing Google Drive Download Link?

这是谷歌分析管理API的官方文档:https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/unsampledReports/get

从以下代码:

 analytics.management().unsampledReports().get(
            accountId=ACCOUNT_ID,
            webPropertyId=WEB_PROPERTY_ID,
            profileId=PROFILE_ID,
            unsampledReportId='XXXX'
        ).execute()

我应该得到:

{
  "id": string,
  "kind": "analytics#unsampledReport",
  "selfLink": string,
  "title": string,
  "accountId": string,
  "webPropertyId": string,
  "profileId": string,
  "start-date": string,
  "end-date": string,
  "metrics": string,
  "dimensions": string,
  "filters": string,
  "segment": string,
  "status": string,
  "downloadType": string,
  "driveDownloadDetails": {
    "documentId": string
  },
  "cloudStorageDownloadDetails": {
    "bucketId": string,
    "objectId": string
  },
  "created": datetime,
  "updated": datetime
}

不过,我的答案是缺乏任何下载信息

我将非常感谢你的帮助


Tags: apiidstring报告googlev3managementanalytics
1条回答
网友
1楼 · 发布于 2024-09-30 16:20:30

答案在driveDownloadDetails.documentId中,因此您必须使用googledriveapi通过其ID获取此文件

我使用Google Apps脚本制作了一个插件,用于导出电子表格中的Google Analytics未采样数据,称为“GA360 Unsampled”,例如,在我的例子中,我通过该信息获得了对文件的引用(然后管理blob、parseCSV等):

...
fileId = driveDownloadDetails.documentId;
...

var file = DriveApp.getFileById(fileId);

显然,您必须使用所使用语言的语法

相关问题 更多 >