【问题标题】:How to use the Google Management API to delete unsampled reports that's pending?如何使用 Google Management API 删除待处理的非抽样报告?
【发布时间】:2016-04-13 17:42:08
【问题描述】:

我们有 Google Analytics Premium。

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

我一直在使用 Management 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
      };

【问题讨论】:

  • 听起来您正在使用具有只读访问权限但没有写访问权限的用户进行身份验证。您不仅需要使用analytics.edit 范围进行身份验证,还需要作为对该非抽样报告具有写入权限的用户进行身份验证。
  • 您还应该在问题中包含完整的错误消息:User does not have sufficient permissions for this XXXX 将有助于诊断问题。
  • 如果您使用的是谷歌应用脚​​本,您根本不必担心访问令牌。已经有一个集成可以解决这个问题。

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


【解决方案1】:

您收到的特定错误消息“User does not have sufficient permissions for this XXXX”表明您的代码可能存在以下两种情况之一:

  1. 您已被验证为对特定 XXXX 没有编辑权限的用户。
  2. 您没有识别帐户 ID、媒体资源 ID、视图 ID 或非抽样报告 ID,具体取决于错误消息中的 XXXX

更多资源

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多