Получить данные с нескольких сайтов в Google Analytics - PullRequest
0 голосов
/ 13 апреля 2020

Мне нужно изменить этот код, чтобы у меня были данные с нескольких сайтов в Google Analytics, упорядоченные по дате.

Приведенный ниже код работает отлично, но только для учетной записи Analytics. Мне нужно автоматизировать это, чтобы получить данные с нескольких сайтов в одной учетной записи.

function start(){


 ScriptApp.newTrigger("getGoogleAnalyticsData").timeBased().everyDays(1).create();


}

function onOpen() {
 var ui = SpreadsheetApp.getUi();

 ui.createMenu("Get external data")
 .addItem("Google Analytics", "getGoogleAnalyticsData")
 .addToUi();
}


function getGoogleAnalyticsData() {

  var date = new Date();

var startDate = "2020-01-01";
var endDate = "2020-12-31";

var tableId  = 'ga:201010452';
var metric = 'ga:totalPublisherRevenue';
var options = {
    'dimensions': 'ga:date',
    'sort': '-ga:date',
    'filters': 'ga:medium!==organic',
    'max-results': 425
};
var report = Analytics.Data.Ga.get(tableId, startDate, endDate, metric,options);

if (report.rows) {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();

  var headers = report.columnHeaders.map(function(columnHeader) {
      return columnHeader.name;
  });
  sheet.appendRow(headers);

  sheet.getRange(2, 1, report.rows.length, headers.length)
        .setValues(report.rows);
} else {
    Logger.log('No rows returned.');
}
}

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете использовать API управления аналитикой (https://developers.google.com/analytics/devguides/config/mgmt/v3), чтобы получить список профилей из своей учетной записи и адаптировать код для циклического просмотра и запроса интересующих просмотров.

...