Доступ к документу Google через API с общим URL-адресом (AuthKey)?

Google Docs позволяет вам делиться документом, используя только URL-адрес. URL-адрес содержит ключ и ключ авторизации для идентификации документа и авторизации доступа. Это позволяет анонимный доступ любому, у кого есть ключ.

Я хотел бы получить доступ к этому типу совместно используемых документов в приложении. Я просмотрел API-интерфейсы и еще ничего не видел. Похоже, это должно быть возможно - поскольку вы можете получить доступ к такому документу анонимно с помощью браузера, почему приложение не должно иметь доступ к тому же документу? Кто-нибудь знает, можно ли / как это сделать?


person Jonah Braun    schedule 15.02.2011    source источник
comment
Они недавно добавили старые электронные таблицы 'authkey', которых нет. У меня сейчас та же проблема. Справочник QL code.google.com/apis/visualization/documentation/   -  person Mohammad    schedule 28.03.2011
comment
Если вы приведете пример того, как вы используете в своем приложении документ, отличный от AuthKey, это значительно сузит этот вопрос.   -  person Lightness Races in Orbit    schedule 03.04.2011


Ответы (3)


Обновление для всех, кто приземлится здесь в 2017+ (как и я). Google, похоже, изменил внешний вид ссылок. Теперь они выглядят так, когда вы нажимаете ссылку "Получить доступ".

https://docs.google.com/spreadsheets/d/[idwillbehere]/edit#gid=0

Вы можете загрузить электронную таблицу с помощью этой команды curl. Убедитесь, что лист установлен так, чтобы любой, у кого есть ссылка, мог получить к нему доступ.

curl -o /path/to/file/you/want/csv/to/go.csv 'https://docs.google.com/spreadsheet/ccc?key=[the-id-of-your-spreadsheet]&output=csv' -L

-L - это уловка, здесь Google часто перемещает CSV, но отправит вам ссылку перенаправления. -L указывает curl следовать перенаправлениям, пока не попадет в файл.

person Benjamin Conant    schedule 08.02.2017
comment
Я действительно хотел бы, чтобы был удобный способ использования этого токена для разрешения доступа к файлам другим приложениям, особенно для обеспечения возможности записи. Кто-нибудь знает, если это так? - person Charles Lohr; 25.04.2017

Некоторая информация может помочь:

При отправке документа по ссылке URL-адрес выглядит так: https://docs.google.com/document/d/xxxxx/edit?hl=en&authkey=yyyyy

Чтобы получить копию документа из curl / wget, используйте URL-адрес вида https://docs.google.com/document/d/xxxxx/export?hl=en&authkey=yyyyy&exportFormat=pdf

См. http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DownloadingDocs для экспорта документа.

person Trung    schedule 04.04.2011
comment
Спасибо, что поделились, отличный совет, я получил URL-адрес из Google Docs API. Теперь он заменен API Google Диска по адресу developers.google.com/drive/manage-downloads < / а> - person Hanxue; 19.12.2012

Вы можете использовать простой URL-адрес для доступа к документу в следующем формате:

https://docs.google.com/feeds/download/<type>/Export?docID=<document_ID>&exportFormat=<format>

Тип может быть любым из следующих - документы - электронные таблицы - рисунки - презентации.

Формат может быть любым из этих

  • html
  • текст
  • rtf
  • док
  • odt
  • xls
  • оды
  • jpeg
  • PNG
  • svg
  • ppt

Дополнительные сведения см. В Google Drive API на странице https://developers.google.com/drive/manage-downloads

Вот пример URL-адреса для экспорта презентации Google в формате PDF.

https://docs.google.com/feeds/download/presentations/Export?docID=15HI6KUtc7dm1jZuk1JY022wxWMcYzz3CiC0dxokokak&exportFormat=pdf

person Hanxue    schedule 19.12.2012
comment
Похоже, они это изменили. Ваш пример не работает, как и пример, который я пробовал. - person Aakil Fernandes; 21.02.2014
comment
Это (почти) работает для меня. Однако URL-адрес перед вопросительным знаком должен заканчиваться на «/ export» (строчная буква «e»), а не на «Экспорт». - person anneb; 12.05.2017