Я пытаюсь выполнить пакетные вызовы 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' ] ],
Таким образом, фрагменты данных соответствуют друг другу, как на этом экране
Я сделал пару тестов и, похоже, порядок обратный. Но так ли это на самом деле? Может просто случайно? Я не смог найти никаких руководств в документации, поэтому не хочу полагаться только на свои эксперименты. Был ли у вас подобный опыт?