#google-analytics #google-analytics-api #google-analytics-userid
#google-analytics #google-analytics-api
Вопрос:
Я не могу получить информацию об активности пользователя из API отчетов Google Analytics (v4), используя идентификатор пользователя.
Идентификатор клиента (в другом представлении, отличном от идентификатора пользователя), однако, работает.
Я что-то упускаю?
—
Для идентификатора клиента
Я захожу сюда в своем веб-интерфейсе Google Analytics:
Я получаю сведения об активности пользователя, как и ожидалось:
—
Я вызываю следующее:
POST https://analyticsreporting.googleapis.com/v4/userActivity:search?key={YOUR_API_KEY}
{
"viewId": "79062844",
"dateRange": {
"startDate": "2019-03-27",
"endDate": "2019-04-02"
},
"user": {
"type": "CLIENT_ID",
"userId": "1142688158.1525244974"
}
}
Я получаю ожидаемый ответ:
{
"sessions": [
…
],
"totalRows": 14,
"sampleRate": 1
}
—
Для идентификатора пользователя
Я захожу сюда в своем веб-интерфейсе Google Analytics:
Я получаю сведения об активности пользователя, как и ожидалось:
—
Я вызываю следующее:
POST https://analyticsreporting.googleapis.com/v4/userActivity:search?key={YOUR_API_KEY}
{
"viewId": "185098721",
"dateRange": {
"startDate": "2019-03-27",
"endDate": "2019-04-02"
},
"user": {
"type": "USER_ID",
"userId": "Not Logged In-"
}
}
Вместо этого я получаю ошибку:
{
"error": {
"code": 400,
"message": "USER_ID: Not Logged In- not found.",
"status": "INVALID_ARGUMENT"
}
}
—
Я пробовал разные идентификаторы, разные даты, менял тип на CLIENT_ID, URL, кодирующий идентификатор пользователя, и идентификаторы пользователей без пробелов — без радости.
Комментарии:
1. Почему вы отправляете ключ API это личные данные, вы должны отправлять токен доступа.
2. Я добавил скриншоты для наглядности.
3. Хорошо, вы выиграли, это выглядит странно, я отправил электронное письмо команде в Google, я не могу обещать, что вы здесь что-нибудь услышите, но если я это сделаю, я дам вам знать. Возможно, вы также захотите отправить отчет об ошибке issuetracker.google.com/issues ? q = componentid: 187400
4. Они изучают это
5. Текущий вариант заключается в том, что API может быть не в состоянии обрабатывать идентификаторы пользователей с пробелом. они могут обновлять документы. Если я услышу что-нибудь еще, я дам вам знать. Я сообщу им о вашей проблеме
Ответ №1:
Похоже, это действительно ошибка, с которой сталкиваются несколько других.
Эта ошибка может быть 1 ‘d и отслежена здесь:
https://issuetracker.google.com/issues/130161158
Редактировать: Теперь это исправлено.
Ответ №2:
В вашем URL-адресе вы ищете идентификатор с именем Not Logged In-
, который не является действительным идентификатором. Вероятно, это изменение идентификатора при копировании URL-адреса.
Комментарии:
1. Спасибо за ваш ответ. В документации говорится, что идентификатором пользователя может быть текст любой длины: developers.google.com/analytics/devguides/collection/… Тем не менее, я пробовал использовать идентификаторы пользователей только с шестнадцатеричными значениями (например, «55d28a097d822306603eb942») с тем же результатом. Чтобы уточнить, URL-адреса работают нормально, это API, который не возвращает активность пользователя при использовании идентификаторов пользователей.
2. Хм, хорошо, значит, под этим идентификатором много пользователей? Тело вашего запроса выглядит нормально, я подозреваю, что его API не может обрабатывать пробелы, поскольку это единственное, что отличается от моих обращений к идентификатору пользователя, и я бы сказал, необычно. Я предполагаю, что его URL-адрес закодирован только в веб-интерфейсе. Можете ли вы попробовать использовать обычный формат идентификатора пользователя, например «не авторизованный»?
3. Я пробовал без пробелов (или дефисов), но все равно получаю ошибку. Например. «USER_ID: 55d28a097d822306603eb942 не найден».