Ошибка Google API, но все еще работает
Я получаю эту консольную ошибку на моем локальном хосте при подключении к Google Drive API, но средство выбора, которое я настроил в моем скрипте, успешно отображает содержимое моего диска:
Не удалось выполнить "postMessage" в "DOMWindow": предоставленный целевой источник (" https://docs.google.com/") не соответствует источнику окна получателя (" http://localhost:8000/").
При загрузке ' https://docs.google.com/picker?protocol=gadgets&origin=http%3A%2F%2Flocalho2photos%22)) недопустимый заголовок "X-Frame-Options" &rpctoken=yxxydsx40r21&rpcService=2dngvfb: "ALLOW-FROM http://localhost:8000/" не является признанной директивой. Заголовок будет игнорироваться.
Я игнорирую это или это создаст мне проблемы в будущем?
4 ответа
Это ошибка
Кажется, есть несколько обходных путей для людей, использующих его как часть надстройки Apps Script, со ссылкой на этот вопрос стека:
Хотя это не работает для официального краткого руководства с использованием JavaScript.
Я тестировал это с Chrome и Firefox, и оба дали одинаковые результаты.
Если вас это беспокоит, обязательно отметьте проблему, указанную выше.
Это проблема CORS при совместном использовании ресурсов Cross Origin. Вам нужно будет добавить CORS на свой сервер, чтобы он устанавливал правильные заголовки. Что такое CORS и как решить
Читайте дальше: Неверный источник с использованием HTTPRequests
При использовании API Google мне проще настроить виртуальный хост и добавить его в файл хостов ОС. Если вы знаете, как настроить самозаверяющие сертификаты, это также может быть полезно.
Лично настроил все мои проекты с помощью Vagrant и Homestead с включенным флагом SSL. Таким образом я могу использовать URLhttps://project.local/
и браузер не так сильно жалуется на X-Frame-Options
Чтобы включить SSL, поставьте ssl: true
под authorize: ~/.ssh/id_rsa.pub
в Homestead.yaml
файл, который создается. По умолчанию сертификат не будет доверенным, поэтому вам придется сообщить своей ОС, что вы хотите ему доверять. Боюсь, я не помню, как именно я это сделал в прошлый раз.
Вы должны контролировать HTTP-заголовки Google, убедитесь, что вы используете правильные параметры X-Frame-Options