Как получить данные API в реальном времени после входа в систему с помощью Google?
Чтобы получить доступ к API отчетности в реальном времени, я использовал файл authSample.html, который использует Oauth 2.0 client_id для авторизации и запроса API.
Но, Google в реальном времени отчетности API сказал
"Ваше приложение должно использовать OAuth 2.0 для авторизации запросов. Другие протоколы авторизации не поддерживаются. Если ваше приложение использует Google Sign-In, некоторые аспекты авторизации обрабатываются для вас".
Что значит часть входа в Google?
Мое приложение уже настроено для входа в Google, значит ли это, что я не должен использовать файл auth.html плюс учетные данные Oauth2.0?
Я уже погуглил, но не нашел удовлетворительного ответа.
1 ответ
Я не уверен, какую технологию вы используете, но это отличная ссылка:
https://developers.google.com/api-client-library/
Как это:
https://github.com/google/google-api-javascript-client/blob/master/samples/authSample.html
Возможно, вы скопировали два или более образцов в один и тот же файл, и они конкурируют друг с другом или что у пользователя, обращающегося к отчетам, нет разрешений.
https://developers.google.com/analytics/devguides/reporting/realtime/v3/authorization
Со страницы выше:
Поиск проблемы
Ваша авторизация не проходит в следующих ситуациях:
Вы получите код состояния 401, если срок действия вашего access_token истек или вы используете неправильную область действия для API. Вы получите код состояния 403, если авторизованный пользователь не имеет доступа к представлению (профилю). Убедитесь, что вы авторизованы с правильным пользователем и что у него действительно есть вид (профиль), который вы выбрали. OAuth 2.0 детская площадка
Этот инструмент позволяет вам пройти весь процесс авторизации через веб-интерфейс. Инструмент также отображает все заголовки HTTP-запроса, необходимые для выполнения авторизованного запроса. Если вы не можете получить разрешение на работу в собственном приложении, попробуйте запустить его через игровую площадку OAuth 2.0. Затем вы можете сравнить заголовки HTTP и запрос с игровой площадки с тем, что ваше приложение отправляет в Google Analytics. Эта проверка - простой способ убедиться, что вы правильно отформатировали свои запросы.
Неверный грант
Когда вы пытаетесь использовать токен обновления, следующее возвращает вам ошибку invalid_grant:
Часы вашего сервера не синхронизированы с сетевым протоколом времени - NTP. Превышено ограничение на токен обновления. Приложения могут запрашивать несколько токенов обновления для доступа к одной учетной записи Google Analytics.
Например, если пользователь хочет установить приложение на нескольких компьютерах и получить доступ к одной и той же учетной записи Google Analytics, то для каждой машины потребуется отдельный токен. Когда количество токенов обновления превышает ограничение, старые токены становятся недействительными. Если приложение пытается использовать недействительный токен обновления, возвращается ответ об ошибке invalid_grant.
Предел для каждой уникальной пары клиента OAuth 2.0 и учетной записи Google Analytics составляет 25 токенов обновления. Если приложение продолжает запрашивать токены обновления для той же пары Клиент / Учетная запись, после выпуска 26-го токена первый выданный токен обновления станет недействительным. 27-й запрошенный токен обновления сделает недействительным 2-й ранее выданный токен и так далее.
Примечание: ограничение в 25 токенов обновления может быть изменено.
Образцы: https://developers.google.com/analytics/devguides/reporting/realtime/v3/libraries
В прошлом, когда я создавал эти отчеты, я узнал, что вы не можете полагаться на примеры, чтобы они работали с кодом, так как среды могут и будут различаться, и вам, так что вам нужно будет отображать или выводить коды ошибок, чтобы увидеть, какие именно ошибки являются. Если вы можете публиковать сообщения об ошибках веб / сервера, мы можем отследить их.
Я надеюсь, что все это несколько помогает.