Подтвердить что ты не робот

Получил ошибку origin_mismatch в Google+ share api

Я хочу поделиться динамическим контентом с Google+. Для этого я проверил его https://developers.google.com/+/web/share/interactive#rendering_the_button_with_javascript

<head>
<script type="text/javascript">
  (function() {
   var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
   po.src = 'https://apis.google.com/js/client:plusone.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
 })();
</script>
</head>
<body>
<button
  class="g-interactivepost"
  data-contenturl="http://www.pubandbar-network.co.uk/" 
  data-clientid="102180630313.apps.googleusercontent.com"
  data-cookiepolicy="single_host_origin">  Share 
</button>
</body>

Но при выполнении я получаю эту ошибку

Error: origin_mismatch
Request Details

    scope=https://www.googleapis.com/auth/plus.login
    response_type=code token id_token gsession
    access_type=online
    redirect_uri=postmessage
    cookie_policy=single_host_origin
    proxy=oauth2relay554026710
    origin=http://www.pubandbar-network.co.uk
    state=1995523240|0.4607792083184853
    display=page
    client_id=102180630313.apps.googleusercontent.com
    authuser=0

Пожалуйста, предложите, как это исправить.

4b9b3361

Ответ 1

Несоответствие происхождения обычно вызвано тем, что исходные коды Javascript не установлены правильно в консоли API-интерфейс проекта. Вы должны убедиться, что происхождение Javascript соответствует домену, с которого поступают ваши запросы, и к которому вы возвращаете пользователя после входа.

Более подробную информацию можно найти в документации разработчика в разделе "Создание идентификатора клиента и клиента" .

Примечание. Общей ошибкой здесь является добавление javascript-истоков для http://, но не https://(или наоборот). Если вы хотите разрешить пользователям получать доступ к вашему сайту из обоих, вам необходимо указать оба в консоли javascript.

Примечание (спасибо Bethel Goka): вы должны указать номер порта вашего сервера в происхождении javascript, если номер порта отображается в URL-адресе, когда пользователи обращаются к вашему сайту.

Ответ 2

Он работал у меня, удалив "www". с консоли Google. Я просто использовал http://example.com, и он работал...

Ответ 3

Для пользователей VS:
Открыть свойства вашего проекта и получить URL-адрес проекта:

enter image description here
Это ваш Javascript Origins

Изменить также URI перенаправления. Это должно быть ваше происхождение + "/oauth2callback"
Для меня:

enter image description here

Ответ 4

(Ошибка имеет ответ для вас)

нужно указать начало javascript в консоли Google api As

origin=**http://www.pubandbar-network.co.uk**

scope=https://www.googleapis.com/auth/plus.login
response_type=code token id_token gsession
access_type=online
redirect_uri=postmessage
cookie_policy=single_host_origin
proxy=oauth2relay554026710
*origin=http://www.pubandbar-network.co.uk*
state=1995523240|0.4607792083184853
display=page
client_id=102180630313.apps.googleusercontent.com
authuser=0

Ответ 5

Мои исходные данные javascript по умолчанию: https://www, мой сайт не поддерживает https://, Я включил http://www. http:// https://www. и https:// он работает.

Ответ 6

Если ваш идентификатор клиента, секрет клиента и URL-адрес исходного кода javascript верны, вы можете проверить, точно ли тот порт, который вы используете, с URL-адресом, который вы вставляете для генерации javascript. Я ошибся одной цифрой: e, g localhost: 888 вместо localhost: 8888 и получил эту ошибку, потому что мои происхождение javascript было localhost: 8888 не 888

Ответ 7

Просто небольшое дополнение к ответу Ли: перечисляя как www.whatever.ext, так и любые другие формы вашего URL-адреса в исходном тексте JavaScript могут избавиться от ошибки. Вот что сделал трюк для моего приложения.

Ответ 8

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

В консоли, когда отображаются исходные данные, "Перенаправления URI" выходят выше "Источников Javascript". Когда вы открываете панель редактирования, это наоборот, поэтому, если вы не обращаете внимания, вы можете вставить свое происхождение в поле Redirect URI и....

Ответ 9

1: Откройте страницу учетных данных для вашего проекта.

2: Дважды щелкните на своем веб-клиенте OAuth 2.0 в списке идентификаторов клиентов.

3. Убедитесь, что в форме идентификатора веб-клиента измените поле "Авторизованные исходники JavaScript" на http://localhost:8080 при запуске сервера на местном уровне. При запуске удаленно добавьте соответствующий URL-адрес сервера appspot.

Ответ 10

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

Чтобы исправить ошибку, перейдите к https://console.cloud.google.com/apis/credentials?project=YOUR-APP-ID

Выберите идентификаторы клиента OAuth 2.0, если вы уже создали его. Если нет, вам нужно будет создать новый идентификатор клиента для вашего происхождения.

В разделе Авторизованные исходники JavaScript добавьте оба https и http originins для вашего приложения, если не добавили оба.

Ответ 11

Выйдите из всех сервисов google из своего браузера.

Ответ 12

У меня тоже была проблема для входа google + api. Я получал Ошибка: origin_mismatch, и такие же детали были там, как они есть в вопросе.. мои учетные данные javascript имели http://localhost:4567 но когда я запускаю файл python, он открыл ссылку как 0.0.0.0:4567, которая в основном является локальным хостом, но когда я изменил URL-адрес в браузере на http://localhost:4567 теперь ошибка была удалена.. и мое приложение смогло получить блок OAuth.. и все прошло отлично!!! эта вещь удалила мою ошибку... Пожалуйста, дайте мне знать, был ли я прав, потому что я только начал изучать, как использовать apis

Ответ 13

Пожалуйста, проверьте исходный url, установленный в консоли Google для вашего веб-приложения/Android

и проверьте http или https, потому что ваш сайт не работает на https (на общем сайте).

Ответ 14

Вы должны прочитать руководство разработчика здесь

https://developers.google.com/analytics/devguides/reporting/embed/v1/devguide

Удачи!

Ответ 15

У меня возникла эта ошибка, пытаясь использовать "Демо-версию для управления играми в Google Play Games", и это было из-за отсутствия "www" в URL

Ответ 16

Я исправил его путем изменения исходных кодов JavaScript и перенаправления URI на консоли Google от http://0.0.0.0:4567 до http://localhost:4567, не забывая добавлять /oauth2callback после перенаправления URI и изменять URL-адрес браузера на http://localhost:4567