Как я могу встроить коллекцию Google Docs в Iframe? - PullRequest
6 голосов
/ 02 февраля 2012

У меня есть коллекция Google Docs, которую я хотел бы вставить в iframe:

https://docs.google.com/open?id=0B6yYgWS-CUJ2ZTUxZGI4MGUtMWM0Yy00YzY0LWIxOTMtMDFlN2RjNDAxNGM2

Проблема здесь в том, что Google установил заголовок X-Frame-Options, и поэтому кажется, что они позволяют только встраивать эту коллекцию в сайт Google:

X-Frame-Options:    SAMEORIGIN

screenshot-with-shadow.png http://img580.imageshack.us/img580/4526/screenshotwithshadow.png

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

С документами Google также допускает два метода «обмена»

  1. Вы можете нажать на кнопку «Поделиться» и установить видимость, которая даст вам ссылку на документ
  2. Или вы можете нажать «Опубликовать в Интернете», и вам будет предоставлена ​​ссылка или опция iframe.

URL-адрес iframe похож на URL ссылки, за исключением того, что в конце он содержит переменную запроса "&embedded=true". То же самое относится и к Google Maps, за исключением того, что параметр "&output=embed"

Кто хотя и считает, что я ничего не могу сделать с заголовками или Javascript на моем сайте, чтобы разрешить загрузку содержимого iframe для коллекции Google Docs, я надеялся, что кто-то может знать, как создать код для встраивания Коллекция Документов Google, которая позволяет загружать ее в iFrame.

Ответы [ 2 ]

2 голосов
/ 02 мая 2013

Обновление: похоже, Google разрешил встраивать Google Документы / Диски через iFrame.Вот текущие заголовки для этой страницы (обратите внимание, что этот URL-адрес после перенаправления):

enter image description here

0 голосов
/ 02 января 2016

Попробуйте: -

single - при значении true в таблице отображается только один лист.Лист по умолчанию, который он отобразит, является первым, созданным в электронной таблице.Это можно изменить, используя 'gid' ниже.

gid - это должен быть числовой идентификатор листа, который вы хотите отобразить.Первый созданный лист равен 0, но другие будут иметь более длинные идентификаторы.Чтобы найти «gid» для листа, который вы хотите отобразить, перейдите к электронной таблице в самих Службах Google и нажмите на нужный лист.URL в вашем браузере должен измениться на что-то вроде этого: https://docs.google.com/a/mycompany.com/spreadsheets/d / 15B ___ SOYjsRmU9tiwZly318HZnFHOHeayS6UTHx7Pu2I / edit # gid = 419657423

Бит в конце URL показывает «gid» для листа,и это число, которое необходимо ввести в шорткод на вашем веб-сайте.

диапазон - установите для него диапазон ячеек, который вы хотите отобразить на листе (или оставьте его для отображения всего листа).В нашем примере мы устанавливаем это в f2: g6.Обратите внимание, что если вы педантичны, то вам действительно следует изменить «:» на «% 3A», поскольку двоеточия должны быть закодированы в URL-адресах - но большинство браузеров должны понимать двоеточие, поэтому не беспокойтесь.Если вы хотите быть правым, вместо этого вы должны использовать range = f2% 3Ag6.

headers = false - номера строк и буквы столбцов не отображаются.

widget - установка этого значения в false удаляетпанель выбора листа, когда она встроена.

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

Итак, все вместе: -

<iframe> src="https://docs.google.com/spreadsheets/d/[Googlekey]/pubhtml?gid=28&range=a1:s45&single=true&widget=true&headers=false" </iframe>

Аллан

...