Google Analytics, как запросить 1 результат каждый для списка указанных пользователей в одном вызове - PullRequest
0 голосов
/ 29 января 2020

Я создал функцию для получения последнего логина пользователя из Google Analytics. Вот данные запроса, используемые:

 let reqData = {
  reportRequests: [
    {
      viewId: viewId,
      dateRanges: [
        {
          startDate: '2006-01-01',
          endDate: endDate
        }
      ],
      metrics: [
        {
          expression: 'ga:users'
        }
      ],
      dimensions: [
        {
          name: 'ga:dimension1'
        },
        {
          name: 'ga:date'
        },
        {
          name: 'ga:eventCategory'
        },
        {
          name: 'ga:eventAction'
        },
        {
          name: 'ga:eventLabel'
        },
        {
          name: 'ga:dateHourMinute'
        }
      ],
      filtersExpression: `ga:eventAction==Logged in;ga:dimension1==` + userid,
      orderBys: [
        {
          fieldName: 'ga:dateHourMinute',
          orderType: 'VALUE',
          sortOrder: 'DESCENDING' //This will make me get the latest login date
        }
      ],
      pageSize: 1 //Limit to 1 result
    }
  ]
};

Однако, это слишком медленно, чтобы делать один за другим, поэтому, если у меня много пользователей, для которых мне нужно получить последние данные для входа, потребуется очень долго (около 2 секунд на пользователя). Есть ли способ использовать Google Analytics для запроса последнего входа в список указанных пользователей одним вызовом API вместо одного вызова API на пользователя? Если нет, как я могу улучшить производительность?

...