API отчетов Google Analytics - получение активности с идентификатором пользователя

Я не могу получить данные о действиях пользователей из Google Analytics Reporting API (v4) с помощью идентификатора пользователя.

Однако Client ID (в другом представлении, отличном от User ID) работает.

Я что-то упускаю?

--

Для идентификатора клиента

Я захожу сюда в своем веб-интерфейсе Google Analytics:

https://analytics.google.com/analytics/web/#/report/visitors-user-activity/a45743608w76484324p 79062844 /_u.date00= 20190327 & _u.date01 = 20190402 & _r.userId = 1142688158.1525244974

Я получаю данные о действиях пользователя, как и ожидалось:  Веб-интерфейс 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:

https://analytics.google.com/analytics/web/#/report/visitors-user-activity/a45743608w76484324p 185098721 /_u.date00= 20190327 & _ u.date01 = 20190402 & _r.userId = Не% 20Logged% 20In-

Как и ожидалось, я получаю данные о действиях пользователя:  Веб-интерфейс 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, кодирующий идентификатор пользователя, и идентификаторы пользователей без пробелов - без радости.


person Akaoni    schedule 03.04.2019    source источник
comment
Вот документация по рассматриваемой конечной точке API: developers.google.com/analytics/devguides/reporting/core/v4/   -  person Akaoni    schedule 03.04.2019
comment
Почему вы отправляете ключ API, это личные данные, вы должны отправлять токен доступа.   -  person DaImTo    schedule 03.04.2019
comment
@DaImTo: в приведенных выше примерах используется API-интерфейс Explorer, и при работе мы будем выполнять вызовы на стороне сервера (C # .NET Core). Но вы на 100% правы, любые вызовы API на стороне клиента должны использовать токены доступа.   -  person Akaoni    schedule 04.04.2019
comment
Учитывая, что я написал примеры .net на официальном сайте, я рад, что вы подтвердили мое утверждение.   -  person DaImTo    schedule 04.04.2019
comment
API сообщает вам, что пользователь не существует, что вы ожидаете увидеть? пожалуйста, укажите свой фрагмент, в котором вы отправляете идентификатор пользователя   -  person DaImTo    schedule 04.04.2019
comment
Я добавил скриншоты для наглядности.   -  person Akaoni    schedule 05.04.2019
comment
@DaImTo: я бы ожидал увидеть сеансы для этого идентификатора пользователя в списке, как и я, когда использую идентификатор клиента в представлении без идентификатора пользователя. Фрагмент, в который я отправляю идентификатор пользователя, является вторым блоком кода под заголовком «Для идентификатора пользователя» в приведенном выше вопросе.   -  person Akaoni    schedule 05.04.2019
comment
Хорошо, вы выиграли, это выглядит странно. Я отправил электронное письмо команде Google. Не могу обещать, что вы здесь что-нибудь услышите, но если я это сделаю, я дам вам знать. Вы также можете отправить отчет об ошибке issueetracker.google.com/issues?q=componentid : 187400   -  person DaImTo    schedule 05.04.2019
comment
Они изучают это   -  person DaImTo    schedule 05.04.2019
comment
@DaImTo: Спасибо за вашу помощь, приятель !! Я отправил отчет об ошибке: Issuesetracker.google.com/issues/130161158   -  person Akaoni    schedule 09.04.2019
comment
Текущий вариант заключается в том, что api может не обрабатывать идентификаторы пользователя с пробелом. они могут обновлять документы. Если я услышу что-нибудь еще, я дам вам знать. Я пингую их с твоей проблемой   -  person DaImTo    schedule 09.04.2019
comment
@Akaoni есть какие-нибудь обновления.?   -  person NIsham Mahsin    schedule 25.06.2019
comment
@NIshamMahsin К сожалению, нет - все еще ждет исправления от Google.   -  person Akaoni    schedule 27.06.2019


Ответы (2)


Похоже, это действительно ошибка, с которой сталкиваются и некоторые другие.

Эту ошибку можно поставить +1 и отслеживать здесь:
https://issuetracker.google.com/issues/130161158

Изменить: теперь это исправлено.

person Akaoni    schedule 26.06.2019

По вашему URL-адресу вы ищете идентификатор с именем Not%20Logged%20In-, который не является действительным идентификатором. Вероятно, это изменение идентификатора при копировании и вставке URL-адреса.

person MarkeD    schedule 04.04.2019
comment
Спасибо за ваш ответ. В документации указано, что идентификатор пользователя может быть текстом любой длины: developers.google.com/analytics/devguides/collection/ Тем не менее, я пробовал идентификаторы пользователей только с шестнадцатеричными значениями (например, 55d28a097d822306603eb942) с тем же результатом. Чтобы уточнить, URL-адреса работают нормально, это API, который не возвращает активность пользователя при использовании идентификаторов пользователей. - person Akaoni; 05.04.2019
comment
Хм, хорошо, так много пользователей под этим ID? Тело вашего запроса выглядит нормально, я подозреваю, что его API не может обрабатывать пробелы, поскольку это единственное, что отличается от моих совпадений userId, и я бы сказал, что это необычно. Его URL-адрес закодирован только в веб-интерфейсе. Можете ли вы попробовать с обычным форматом userId, например, для незарегистрированного пользователя? - person MarkeD; 05.04.2019
comment
Я пробовал без пробелов (или дефисов), но все равно получаю сообщение об ошибке. Например. USER_ID: 55d28a097d822306603eb942 не найден. - person Akaoni; 09.04.2019