Ответ 1
Пожалуйста, проверьте Авторизованные исходники JavaScript url в консоли Google API в настройках Oauth. Это должно быть, где вы разрешаете javascript.
Я пытаюсь запустить https://developers.google.com/analytics/solutions/articles/hello-analytics-api учебное пособие, чтобы получить и запустить с вытаскиванием данных программным путем из Google Analytics.
Я скопировал образцы файлов точно, но когда я обращаюсь к ним через localhost в Chrome, я получаю следующую ошибку в консоли JavaScript и перенаправляюсь на about:blank
:
Refused to display 'https://accounts.google.com/o/oauth2/auth?client_id=363192057646-fbj7q1oais...%2Flocalhost&response_type=token&state=327475409%7C0.2024869166&authuser=0' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Я пробовал всевозможные настройки, но не могу упустить эту ошибку. Надеюсь, кто-то может помочь (или просто просто привести меня к простому, работающему, Javascript примеру для доступа к API Google Analytics.
Пожалуйста, проверьте Авторизованные исходники JavaScript url в консоли Google API в настройках Oauth. Это должно быть, где вы разрешаете javascript.
У меня была такая же проблема вчера, но потом я понял, что использую неверный идентификатор клиента в своих учетных данных.
Вам следует дважды проверить, создан ли "Идентификатор клиента для веб-приложения" в API и auth > Credentials. И затем используйте этот идентификатор клиента.
В моем случае я ошибочно создал "Учетную запись службы" и использовал этот идентификатор клиента. Затем я понял ошибку и создал "веб-приложение" и заменил идентификатор клиента на hello_analytics_api_v3_auth.js(согласно руководству по https://developers.google.com/analytics/solutions/articles/hello-analytics-api).
Btw, не забудьте создать ключ доступа к общедоступному API.
EDIT:, если вы используете пример Google, исправьте следующую функцию:
function handleAuthResult(authResult) {
if (authResult) {
gapi.client.load('analytics', 'v3', handleAuthorized);
} else {
handleUnauthorized();
}
}
В операторе if измените на:
if (authResult && !authResult.error)
Итак, вы получите:
function handleAuthResult(authResult) {
if (authResult && !authResult.error) {
gapi.client.load('analytics', 'v3', handleAuthorized);
} else {
handleUnauthorized();
}
}
Мой коллега обнаружил ошибку и сделал запрос pull, чтобы исправить это. Надеюсь, что сейчас эта проблема. Это отсортировано для меня; -)
У меня была та же проблема с примером таблицы Fusion, который я нашел в Интернете.
Ни один из ответов, которые я нашел в Интернете, не был полезен, но я, наконец, решил проблему следующим образом:
Откройте консоль dev в Chrome, которая показывает ошибку и URL-адрес, к которому он пытается получить доступ, откройте Url на новой вкладке.
На странице показано следующее:
400. That’s an error.
Error: invalid_request
Parameter not allowed for this message type: client_secret
Итак, я редактировал код:
function auth(immediate) {
gapi.auth.authorize({
client_id: clientId,
<!--client_secret: clientSecret,-->
scope: scopes,
immediate: immediate
}, handleAuthResult);
}
Et voila (:
У меня было это сообщение об ошибке много раз раньше. В большинстве случаев я просто вызывал Google API непоследовательно. Чтобы выяснить, щелкните URL-адрес в dev. консоль. Откроется новое окно, и вы получите следующее сообщение:
400.
That’s an error.
Error: invalid_scope
Some requested scopes were invalid ...
Я заработал, очистив свои файлы cookie. - Решение опубликовано в этом же выпуске здесь: Google+ API "400 (неудачный запрос)" и "Отказано для отображения... в кадре, потому что он устанавливает" Параметры X-Frame "в" SAMEORIGIN ". " Ошибки