2015-12-29 4 views
9

Я получаю следующую ошибку при доступе к сборщику Google, но сборщик отображается правильно, без ошибок.Ошибка выбора привода Google

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('http://localhost'). 

Invalid 'X-Frame-Options' header encountered when loading 'https://docs.google.com/picker?protocol=gadgets&origin=http%3A%2F%2Flocalho…%3Atrue%7D))&rpctoken=e2x1eop3h1rr&rpcService=2qeo0ns6gu13&thirdParty=true': 'ALLOW-FROM http://localhost' is not a recognized directive. The header will be ignored. 

PSB скриншот из моего разработчиков консоли

http://screencloud.net/v/6431

Также я говорил на этот вопрос Google Drive Picker - Developer Key is Invalid Error, но я думаю, что там были некоторые изменения в Google API, так это дело не работает.

Фрагмент кода -

var picker = new google.picker.PickerBuilder() 
          .setLocale(lkGoogleSettings.locale) 
          .setOAuthToken(accessToken) 
          .setCallback(pickerResponse) 
          .setOrigin(lkGoogleSettings.origin); 

Благодаря

+0

'http: // localhost 'не является признанной директивой'. Возможно, Google API ожидает номер порта, например, в 'http: // localhost: 80'? – remdevtec

+3

FWIW это происходит только в Chrome. Вторая проблема сообщается как ошибка, которую они не планируют исправлять. https://code.google.com/p/chromium/issues/detail?id=511521 – Amber

+0

Я думаю, что сборщик файлов google работает только на реальном сервере, вам нужно разместить его –

ответ

2

Как некоторые из комментаторов уже упоминалось, ошибка X-Frame-Option известна ошибка в Chrome. Вы можете долго дискутировать об этом here.

Теперь, для настоящей проблемы: origin matching. Google Диск не работает с локальным хостом с портом или без него, независимо от того, добавляете ли вы его в свои разрешения для своих идентификаторов клиента.

Есть, однако желающий. Если вы настроите домен в своем файле хоста для указания на localhost, вы можете добавить домен к своему происхождению в консоль Google App, и все будет работать так, как ожидалось!

Я делаю это все время, чтобы проверить свои приложения. Например:

  1. добавить dev.mysite.com к вашим hostfile (/ и т.д./хостов в Mac).
  2. Реплицируйте домен в своих разрешениях для своего приложения-подборщика в Google App Console, и вам должно быть хорошо идти.
  3. Запустите свой сайт, используя dev.mysite.com:80 * и Drive Picker должен теперь функционировать правильно.

* Примечание: вы должны служить на порт 80. Google не играет хорошо с портами на всех, так что, когда вы идете на ваш сайт, адрес должен быть dev.mysite.com, без порта.

+0

Любая причина для голосования? Я не верю, что косметическое редактирование должно быть достаточным для правильного ответа правильного ответа с фактическим решением. – silverelizard