Я создал функцию для получения последнего логина пользователя из 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 на пользователя? Если нет, как я могу улучшить производительность?