如何使用Google Management API删除待处理的未抽样报告?

时间:2016-04-13 17:42:08

标签: google-apps-script google-analytics google-api google-analytics-api

我们有Google Analytics Premium。

我想删除Google表格/ Google脚本中的非抽样报告。

我在以下网址使用管理API获取了非抽样报告:https://developers.google.com/apis-explorer/#p/analytics/v3/analytics.management.unsampledReports.get

我可以使用以下方式获取和安排未采样的报告:

GET https://www.googleapis.com/analytics/v3/management/accounts/12345/webproperties/33243423/profiles/12345/unsampledReports/?access_token=[access_token]

但是对于我的生活,我无法使用以下内容删除报告:(保持用户没有预先录制)

https://developers.google.com/apis-explorer/#p/analytics/v3/analytics.management.unsampledReports.delete

DELETE https://www.googleapis.com/analytics/v3/management/accounts/12345/webproperties/33243423/profiles/12345/unsampledReports/?key={YOUR_API_KEY}

我还可以使用以下方式对报告进行排队:

function deleteAllReports() {
  var logger = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Unsampled Report Logs');
  var lastRow = logger.getLastRow();
  var unsampledReportsArray = logger.getRange(2, lastRow+1, 1, 1).getValues();
   var request = Analytics.Management.UnsampledReports.Delete({
      'accountId': '123456',
      'webPropertyId': 'UA-123456-1',
      'profileId': '7654321',
      'unsampledReportId': '1112223334111222333411'
    });
}

编辑:

我目前正在使用我的client_id,client_secret和refresh_token从https://accounts.google.com/o/oauth2/token获取访问令牌。

大致是:

var uri = "https://accounts.google.com/o/oauth2/token";
  var payload =
      {
        'client_id' : 'XXXXX',
        'client_secret' : 'XXXXX',
        'grant_type' : 'refresh_token',
        'content_type' : 'application/x-www-form-urlencoded',
        'refresh_token' : 'XXXXX'
      };

  var options = 
      { "method" : "POST",
       "muteHttpExceptions" : false,
       "payload" : payload
      };

1 个答案:

答案 0 :(得分:2)

您收到的特定错误消息" User does not have sufficient permissions for this XXXX"表示您的代码可能出现以下两种情况之一:

  1. 您被认证为对该特定XXXX没有修改权限的用户。
  2. 您错过了帐户ID,属性ID,视图ID或未抽样的报告ID,具体取决于错误消息中XXXX的内容。
  3. 更多资源