Аналитика API v3 |Ошибка 401 (неверные учетные данные) только на нескольких учетных записях - PullRequest
0 голосов
/ 23 октября 2018

Эй

Я работаю в маркетинговом агентстве и разработал небольшой скрипт в Google AppScripts, который извлекает данные из учетных записей Google Analytics моих клиентов и форматирует их в презентацию Google Slides.

Как это работает:

Наши клиенты дают нам доступ к своим представлениям Analytics, и с помощью API Analytics я получаю идентификатор каждого представления, которым мы делимся с нами на нашем основном аккаунте.и использовать эти идентификаторы для отправки запросов к API.

Сценарий прекрасно работает практически для каждого просмотра, но недавно у меня возникли проблемы с некоторыми учетными записями Analytics.

Обычно я получаю 401 код ответа , несмотря на то, что у менеджера есть доступ к данному свойству.

Метод, который я использую для запросов к API: Analytics.Data.Ga.get , и вот как выглядит результат:

[18-10-23 06:57:02:128 PDT] {totalsForAllResults={ga:users=0},  totalResults=0, 
columnHeaders=[{columnType=DIMENSION, dataType=STRING, name=ga:userGender}, 
{columnType=METRIC, dataType=INTEGER, name=ga:users}], 
profileInfo={profileName=Toutes les données du site Web, accountId=xxxxxx, 
profileId=xxxxxx, tableId=ga:xxxxxx,
webPropertyId=UA-xxxxxx-x, internalWebPropertyId=xxxxxx}, itemsPerPage=1000,
kind=analytics#gaData, query={end-date=2018-09-30, max-results=1000,
start-index=1, ids=ga:174758787, start-date=2018-07-01, metrics=[ga:users],
dimensions=ga:userGender}, containsSampledData=false,
id=https://www.googleapis.com/analytics/v3/data/ga?ids=ga:xxxxxx&dimensions=ga:userGender&metrics=ga:users&start-date=2018-07-01&end-date=2018-09-30, selfLink=https://www.googleapis.com/analytics/v3/data/ga?ids=ga:xxxxxx&dimensions=ga:userGender&metrics=ga:users&start-date=2018-07-01&end-date=2018-09-30}

Когда я перехожу по этой ссылке "id", вот что я получаю:

{"error":
    {
    "errors":[
      {
        "domain":"global",
        "reason":"required",
        "message":"Login Required",
        "locationType":"header",
        "location":"Authorization"
      }
    ],
    "code":401,
    "message":"Login Required"
    }
}

Я понял, что это связано с протоколом OAuth2, о котором мне никогда не приходилось беспокоиться, так как онобычно автоматически обрабатывается AppScripts.Я почти везде оглядывался, пытаясь решить проблему самостоятельно, но, похоже, не могу обернуться вокруг протокола OAuth 2. Как он работает в этом случае.

У меня естья уже создал учетные данные для своего скрипта, поэтому у меня есть доступ к моему идентификатору клиента и его секретному ключу для этого проекта.

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

Я был бы очень благодарен, если бы кто-нибудь мог просветить меня об этом:)

Хорошего дня !!

1 Ответ

0 голосов
/ 25 октября 2018

Исправлена ​​проблема, оказалось, что она не имеет ничего общего с протоколом OAuth2.Демографические отчеты просто отключались в Google Analytics для этих учетных записей, поэтому я не получил никакого ответа на свой запрос.

Если кому-то интересно, ошибка 401 в запросе REST заключается в том, что в конце не передается токен или ключ (с использованием «? Key = ...» или «access_token = ...»), поэтомуЭто похоже на то, как какой-то аноним пытался получить доступ к данным.

Если вам интересно, как получить токен доступа, вы можете получить его, используя Query Explorer .После выполнения запроса выберите « Включить текущий access_token в URI запроса (истекает через ~ 60 минут)

В любом случае, это можно закрыть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...