#google-apps-script #google-analytics-api
Вопрос:
нужна помощь со скриптом Google, который отвечает за извлечение CSV и загрузку в Google Analytics.
Вот как я получаю свой CSV-файл из своей выборки:
sku|maxCPO
123-2-F|10
3212-123-G|10
145-1234-S|70.5
53455-245-A|52.5
12455-13-H|15.5
33352-45-E|10
2443-BOX-H|150
3455-BOX-N|200
Что у меня есть в моем GoogleScript
function findCsvAttachment() {
var csvDoc = UrlFetchApp.fetch("mycsv");
var csvData = Utilities.parseCsv(csvDoc, "|");
return csvData;
}
function processCsv(csvData) {
var dataRows ="";
var headers = 'ga:productSku,ga:metric3n';
for (var row = 4979; row < csvData.legth amp;amp; csvData[row][0]!= ''; row ) {
var currentDataRow= csvData[row][0] ',' csvData[row][1] 'n';
dataRows = String(currentDataRow);
}
var dataForUpload = headers dataRows;
return dataForUpload;
}
//assumes media dataType for upload https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtReference/management/uploads/uploadData
function uploadDataToAnalytics(data, accountId, webPropertyId, customDataSourceId) {
var dataBlob = Utilities.newBlob(data, "application/octet-stream");
var upload = Analytics.Management.Uploads.uploadData(accountId, webPropertyId, customDataSourceId, dataBlob);
return upload;
}
///////// ACTUAL IMPLEMENTATION OF SCRIPT /////////////
var csv = findCsvAttachment();
var csvForUpload = processCsv(csv);
var analyticsUpload = uploadDataToAnalytics(csvForUpload, CONFIG.analyticsAccountId, CONFIG.analyticsPropertyId, CONFIG.customDataSourceId);
}
Я получаю заголовки только при запуске сценария, я не получаю строки… Любая помощь будет ОЧЕНЬ признательна! Заранее спасибо!
Комментарии:
1.
csvData.legth
должно бытьcsvData.length
2. @купер, большое тебе спасибо! Мне жаль, что я пропустил это, очень неловко! спасибо вам за ваше время и терпение. Теперь я получаю
Invalid cell data "maxCPO" at row 2 column 2. Expected data type: LONG.
Я знаю, что это не связано с вопросом, знаете ли вы, как это исправить? Большое спасибо3. Решено! Не могли бы вы скопировать и вставить свой комментарий в качестве ответа? Таким образом, я могу принять и отдать вам должное 🙂