Google Analytics Google Analytics Ошибка 403: "У пользователя нет учетной записи Google Analytics"

Я создаю script на основе пошагового руководства Google Analytics на этой странице:

https://developers.google.com/analytics/resources/tutorials/hello-analytics-api

Авторизация выполняется без проблем, пока не попытается получить доступ к данным. Код возврата равен 403, а сообщение об ошибке:

У пользователя нет учетной записи Google Analytics.

Это сообщение не имеет смысла: в моей учетной записи есть данные Google Analytics, отслеживание нескольких веб-сайтов, и я могу без проблем получить к нему доступ из веб-браузера. Я разрешил API Google Analytics через консоль Google API, а доступ к API дает мне правильные данные.

Ответ 1

У меня тоже была эта проблема. Я исправил его, добавив адрес электронной почты для своей учетной записи службы в профиль Google Analytics, к которому я хотел получить доступ.

Я получил адрес электронной почты (например, [email protected]) для учетной записи службы, просмотрев вкладку "API Access" в консоли API Google.

Затем я последовал за инструкциями Google по добавлению адреса электронной почты в профиль Google Analytics. Теперь все работает как ожидалось.

Удачи!

Ответ 2

Просто добавьте сообщение (формат [email protected]nt.com)

для Менеджеров пользователей:

У пользователя нет учетной записи Google Analytics

Пожелайте, чтобы это помогло вам

Ответ 3

Я столкнулся с той же проблемой. Эта проблема была решена путем добавления идентификатора электронной почты пользователя учетной записи службы (ваш [email protected]) к пользователям в вашей учетной записи Google Analytics under-

Домашняя страница Analytics → Администратор (левая панель) → Управление пользователями → Добавить (нажмите значок плюса в правой части меню) → Добавить нового пользователя → Добавить идентификатор электронной почты при вводе адресов электронной почты.

enter image description here

Теперь это решит проблему.

Ответ 4

Это упомянуто в комментарии выше, но если вы добавите адрес электронной почты в разделе "Управление пользователями" для своей учетной записи, он не будет работать. Вы должны нажать на Управление пользователями под частью просмотра экрана.

enter image description here

Ответ 5

Вы также получите эту ошибку, если вы еще не вошли в систему с учетной записью google, которую вы пытаетесь выполнить проверку подлинности.

Ответ 6

Я получал ошибку 403 до тех пор, пока я не изменил разрешения учетной записи электронной почты изнутри Google Analytics с "Читать и анализировать" на что-то еще, сохранил ее, а затем изменил разрешения на "Чтение и анализ", и это сработало.

Ответ 7

Я попал в ошибку 403. Эти шаги заставили меня обойти это. Чтобы быть ясным, я пытался получить образец Google "HelloAnalytics.php", работающий с OAuth (без участия пользователя, подходящего для задания cron и т.д.).

После включения API Google Analytics я создал новую "учетную запись службы" в API и Auth/Credentials; и сохранили пару ключей .p12. Затем я зашел в консоль управления пользователями Analytics и добавил этот адрес электронной почты для служебного пользователя.

.p12 авторизация с использованием PHP API работает, если я проверяю только "Читать и анализировать" только в списке разрешений. Если я добавлю "Управление пользователями" и/или "Редактировать", я получу 403. Надеюсь, что это полезно, я несколько раз помогал этому в течение нескольких часов...

Ответ 8

У меня тоже была эта проблема, и я обнаружил, что проблема в том, что я попросил слишком много разрешений. Консоль разработчика говорит, что запрашивает разрешения http://www.googleapis.com/auth/analytics и http://www.googleapis.com/auth/analytics.readonly. Это не сработало, когда я также использовал заявку sub. A sub заявляет, что Google выпускает токен доступа, который работает от имени другого пользователя - в моем случае учетная запись Google, которой принадлежит учетная запись службы. Я удалил разрешение analytics и застрял с analytics.readonly с подпунктом:

{
  "iss":"[email protected]nt.com",
  "sub":"[email protected]"
  "scope":"http://www.googleapis.com/auth/analytics",
  ...
}

Выпуск маркера Bearer позволяет мне делать (по крайней мере некоторые) запросы Google Analytics к профилям, принадлежащим совершенно другим учетным записям Google, но которые были доступны (только для чтения) с моим пользователем gmail ([email protected]).

Ответ 9

Мне удалось это исправить, убедившись, что

client = Google:: APIClient.new(: application_name = > 'X',: application_version = > '1')

имя переменной приложения "X выше было именем ACCOUNT на панели управления GA, а не именем PROPERTY, которое в моем случае было фактическим URL-адресом сайта, к которому я хочу получить доступ.

Сбивает с толку, но, к счастью, исправлено (без помощи Google!)

Ответ 10

Проблема возникает, поскольку мы не предоставляем аргумент "sub". Если мы не предоставим это, звонок будет происходить от имени этого длинного электронного сообщения службы.

Итак, просто укажите аргумент sub, с адресом электронной почты, который вы уже предоставили в отчете, и все должно хорошо работать.

Ответ 11

Я получил ту же ошибку, так как я не входил в Google Analytics. Поэтому я решил эту проблему, войдя в аккаунт Google Analytics.

Ответ 12

Вместо использования служебной учетной записи вы можете обойти необходимость добавления новых разрешений для пользователей (в соответствии с основными ответами в этой теме) с помощью учетных данных OAuth client ID.

Перейдите на панель мониторинга учетных данных API и нажмите "Создать учетные данные" → "Идентификатор клиента OAuth". После этого вы должны получить идентификатор клиента и секрет клиента, которые вам понадобятся для аутентификации API.

Теперь вы можете использовать OAuth2WebServerFlow для аутентификации на основе использования. Вот пример на python3:

from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow

# TODO: Fill these in...
CLIENT_ID = ''
CLIENT_SECRET = ''
VIEW_ID = ''

flow = OAuth2WebServerFlow(
    CLIENT_ID, CLIENT_SECRET,
    'https://www.googleapis.com/auth/analytics.readonly',
    redirect_uri='urn:ietf:wg:oauth:2.0:oob'
)

authorize_url = flow.step1_get_authorize_url()
print('Receive code from:\n%s\n' % authorize_url)
code = input('Enter code here:').strip()
credentials = flow.step2_exchange(code)

api = build('analyticsreporting', 'v4', credentials=credentials)
body={
    'reportRequests': [{
        'viewId': VIEW_ID,
        'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
        'metrics': [{'expression': 'ga:sessions'}],
        'dimensions': [{'name': 'ga:country'}]
    }]
}

data = api.reports().batchGet(body=body).execute()

Ответ 13

Я получил эту проблему на одной учетной записи, но не другой с точно такой же настройкой.

Есть ли что-то, что я мог бы пропустить?

Обе учетные записи службы имеют разрешения "читать и анализировать" на уровне учетной записи.

Ответ 14

Пользователь, с которым вы пытаетесь использовать API, не включил его службу GA.
Просто недостаточно учетной записи google.

... Однако просто наличие учетной записи Google автоматически не предоставляет вам доступ к Analytics. Во-первых, вы должны зарегистрироваться в Google Analytics, одноразовый, простой процесс...