Пакетные вызовы Google Analytics Real-Time API - порядок возвращаемых данных - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь выполнить пакетные вызовы API реального времени GA, но столкнулся со странной проблемой. Допустим, я хочу получить 10 измерений. Поскольку максимальный размер одного вызова составляет 7, я должен разделить его на два вызова (я использую Google App Script). Например:

const res = Analytics.Data.Realtime.get(
      "ga:xxxxxxx",
      "rt:activeUsers",
      {
        dimensions: [dimensions] // 7 dimensions here
      }
    )

и

const res = Analytics.Data.Realtime.get(
      "ga:xxxxxxx",
      "rt:activeUsers", // at least one metric is required so calling for active users again
      {
        dimensions: [dimensions] // 3 remaining dimensions here
      }
    )

Казалось бы, что все работает нормально, но порядок, в котором я получаю данные, либо обратный, либо случайный. Для первого вызова это будет примерно так:

rows: 
    [ [ 'Chrome',
        '(not set)',
        'MOBILE',
        '(not set)',
        '(not provided)',
        '(not set)',
        'Redmi Note 7',
        '1' ],
      [ 'Firefox',
        '(not set)',
        'DESKTOP',
        '(not set)',
        '(not set)',
        '(not set)',
        '(not set)',
        '1' ] ],

Для второго:

rows: [ [ '(not set)', '(direct)', 'NEW', '1' ],
      [ '(not set)', 'google', 'NEW', '1' ] ],

Таким образом, фрагменты данных соответствуют друг другу, как на этом экране enter image description here

Я сделал пару тестов и, похоже, порядок обратный. Но так ли это на самом деле? Может просто случайно? Я не смог найти никаких руководств в документации, поэтому не хочу полагаться только на свои эксперименты. Был ли у вас подобный опыт?

...