Я создаю сценарий, основанный на пошаговом руководстве Google Analytics на этой странице:
https://developers.google.com/analytics/resources/tutorials/hello-analytics-api
Авторизация выполняется без проблем, пока не будет предпринята попытка доступа к данным. Код возврата - 403, и сообщение об ошибке:
У пользователя нет аккаунта Google Analytics
Это сообщение не имеет смысла: моя учетная запись содержит данные Google Analytics, отслеживающие несколько веб-сайтов, и я могу без проблем получать к ним доступ из веб-браузера. Я разрешил Google Analytics API через консоль API Google, и доступ к API дает мне нужные данные.
источник
Просто добавьте вам указанный адрес электронной почты (формат
71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com
)Менеджерам пользователей:
Жаль, что это поможет вам
источник
Я столкнулся с той же проблемой. Это было решено путем добавления адреса электронной почты пользователя учетной записи службы (
your account@yourwebsite-dev.iam.gserviceaccount.com
) к пользователям в вашей учетной записи Google Analytics.Домашняя страница Analytics -> Администратор (левая панель) -> Управление пользователями -> Добавить (нажмите значок плюса в правой части меню) -> Добавить нового пользователя -> Добавить идентификатор электронной почты при вводе адресов электронной почты.
Теперь это решит проблему.
источник
Это упомянуто в комментарии выше, но если вы добавите адрес электронной почты в разделе «Управление пользователями» для своей учетной записи , он не будет работать. Вы должны нажать на Управление пользователями под частью просмотра экрана.
источник
User Management
ссылки в разделе Просмотр на моем концеВы также получите эту ошибку, если вы никогда не входили в систему с учетной записью Google, с которой вы пытаетесь пройти аутентификацию.
источник
Я получал ошибку 403, пока не изменил разрешения учетной записи электронной почты из Google Analytics с «Чтение и анализ» на что-то другое, сохранил ее, а затем изменил разрешения обратно на «Чтение и анализ», и это сработало.
источник
На случай, если это не сработает, попробуйте открыть файл JSON, который вы скачали, и найдите
client_email
и скопируйте этот адрес электронной почты и добавьте его в файл просмотра.Нажмите на
Если это все еще не работает
источник
Я попал в ошибку 403. Эти шаги заставили меня обойти это. Чтобы было ясно, я пытался заставить образец Google "HelloAnalytics.php" работать с OAuth (без взаимодействия с пользователем, подходящий для работы cron и т. Д.).
После включения API Google Analytics я создал новую «учетную запись службы» в разделе «API & Auth / Credentials»; и сохранил пару ключей .p12. Затем я зашел в консоль управления пользователями Analytics и добавил адрес электронной почты этого пользователя службы.
.p12 авторизация с использованием PHP API работает, если я отмечаю только «Чтение и анализ» только в списке разрешений. Если я добавлю «Управление пользователями» и / или «Редактировать», я получу 403. Надеюсь, это полезно, я пытался разобраться с этим пару часов ...
источник
У меня тоже была эта проблема, и я обнаружил, что проблема в том, что я просил слишком много разрешений. Консоль разработчика говорит, чтобы запросить оба
http://www.googleapis.com/auth/analytics
иhttp://www.googleapis.com/auth/analytics.readonly
разрешения. Это не сработало, когда я также использовалsub
претензию.sub
Требование инструктирует Google выпустить маркер доступа , который работает от имени другого пользователя - в моем случае учетной записи Google , которая является владельцем учетной записи службы. Я удалилanalytics
разрешение и придерживалсяanalytics.readonly
подпункта:Выданный токен на предъявителя позволяет мне выполнять (по крайней мере некоторые) запросы Google Analytics к профилям, которые принадлежат совершенно другим учетным записям Google, но которые были предоставлены (только для чтения) моему пользователю gmail (me.example@gmail.com) ,
источник
Мне удалось это исправить, убедившись, что
client = Google :: APIClient.new (: application_name => 'X',: application_version => '1')
Переменная имени приложения 'X выше была именем ACCOUNT на панели инструментов GA, а не именем PROPERTY, которое в моем случае было фактическим URL сайта, к которому я хочу получить доступ.
Смущает, но, к счастью, исправлено (без благодарности Google!)
источник
Проблема возникает, поскольку мы не предоставляем аргумент «sub». Если мы не предоставим это, звонок будет осуществляться от имени этой длинной учетной записи службы электронной почты.
Так что просто предоставьте дополнительный аргумент, с адресом электронной почты, к которому вы уже предоставили доступ в отчете, и все должно работать хорошо!
источник
Я получил ту же ошибку, так как я не входил в Google Analytics. Поэтому я решил эту проблему, войдя в аккаунт Google Analytics.
источник
Это сообщение, которое мы получаем, когда
client_email
в Google Alalytics не предоставлено разрешение ,client_email
полученное из файла JSON . чтобы разрешитьclient_email
использование вашего приложения, перейдите на сайт Google Analytics и нажмите «Администратор (значок настройки)»Вы получите список меню справа, там нажмите «Просмотр управления пользователями»
Там вы увидите значок «+» и «добавить пользователя»,
как только вы нажмете на это, вам нужно добавить
client_email
в «поле адреса электронной почты» и сохранить его, вы должны быть в порядке!источник
Пользователь, для которого вы пытаетесь использовать API, не активировал свой сервис GA.
Просто иметь учетную запись Google недостаточно .
источник
Вместо использования служебной учетной записи вы можете обойти необходимость добавления добавления новых пользовательских разрешений (в соответствии с основными ответами в этой теме), используя
OAuth client ID
учетные данные.Перейти к панели управления учетными данными API и нажмите «Создать учетные данные» -> «Идентификатор клиента OAuth». После этого вы должны получить идентификатор клиента и секрет клиента, которые вам понадобятся для аутентификации API.
Теперь вы можете использовать
OAuth2WebServerFlow
для аутентификации на основе использования. Вот пример на python3:источник