【问题标题】:How to upload cost to Google Analytics using Google SpreadSheet如何使用 Google SpreadSheet 将成本上传到 Google Analytics
【发布时间】:2016-04-18 19:29:16
【问题描述】:

我知道可以通过web interface 将数据成本上传到 Google Analytics。然而,我想让这个过程更加自动化,所以我考虑使用谷歌电子表格和谷歌应用脚​​本来缩短这个过程。

我的想法是在电子表格上获取我想要上传到 Google Analytics 的数据,然后使用 Google Apps 脚本高级服务将数据成本上传到我的 google Analytics Property。不幸的是,Google App Script Advanced Services 的文档非常有限。所以我希望有人可以帮助我。以下是到目前为止所做的:

function uploadDataCost() {

  var accountId = "XXXXXXXX";
  var webPropertyId = "UA-XXXXXXX";
  var customDataSourceId = "XXXXXXXXXXXXX";

  var csvData = convertRangeToCSVString();      

  var mediaData = Utilities.newBlob([]); //This variable is my main problem.

  Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, mediaData);



}

我找到了转换range to a CSV as a string 的代码。但我不知道如何获取此字符串并将其转换为 blob,因此我可以将其用作方法 Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, mediaData); 中的 mediaData 参数。

我相信调用此方法可以解决问题,但是我不确定如何在 mediaData 参数中传递数据,正如我所说,我找不到任何解释此方法如何工作的文档。我知道 mediaData 应该是 Blob 类型,但我找不到任何示例来解释如何创建一个 CSV 文件的 Blob。

【问题讨论】:

    标签: csv google-apps-script google-analytics google-sheets google-spreadsheet-api


    【解决方案1】:
    function uploadData() {
      var accountId = "xxxxxxxx";
      var webPropertyId = "UA-xxxxxxxx-x";
      var customDataSourceId = "xxxxxxxx";
      var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var maxRows = ss.getLastRow();
      var maxColumns = ss.getLastColumn();
      var data = [];
      for (var i = 1; i < maxRows;i++) {
        data.push(ss.getRange([i], 1,1, maxColumns).getValues());
      }
      var newData = data.join("\n");
      var blobData = Utilities.newBlob(newData, "application/octet-stream", "GA import data");
      try {
        var upload = Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, blobData);
        SpreadsheetApp.getUi().alert("Uploading: OK");
      }
      catch(err) {
        SpreadsheetApp.getUi().alert("Cannot upload: Failed");
      }
    }
    

    Source

    【讨论】:

    • 这非常有效。谢谢你。您是否知道我在哪里可以找到有关 Google Analytic 的 Google Apps 脚本管理 API 的文档。它应该与 API 相同,但并不完全相同。 Utilities 方法也缺乏良好的文档。
    • 上传成功时有没有办法从uploadData方法得到响应?
    猜你喜欢
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多