2014-01-19 3 views
0

Я пытаюсь импортировать файлы, созданные в Google Drive (в частности, их формат документа)Получение Google Doc как текст/html

Я понимаю, что если мое приложение может использоваться, чтобы открыть MIME тип text/html, как указано в поддерживаемые типы MIME, тогда я могу использовать функцию «Открыть с ..» с диска, чтобы запустить мое приложение.

Однако, когда я пытаюсь получить содержимое через fileId, я столкнулся с проблемой, только fileID существует для файлов, которые являются «реальными» типами файлов, например. Я могу открыть файл .html, хранящийся на Диске, по идентификатору, переданному моему приложению.

При попытке открыть Документ Google мне передается exportId - предположительно идентификатор файла, к которому диск экспортировал документ.

Я не могу найти документацию о том, как извлечь файл из его идентификатора exportID.

Параметр переданного состояния содержит следующий JSON-кодированный массив.

" string(111) "{"exportIds":["14JZ-Lf5BpU0h8bNufrmiWgz1bd184BfyPvdgmiwBDyU"],"action":"open","userId":"110065623489887237624"}" 

можно только предположить, что exportIds представляет собой массив, как документ может быть экспортированы в различные форматы, каждый формат, имеющий uniquire exportId.

Update:

Так что я был в значительной степени там с моими предположениями, но я нашел, что это позволяет предположить, я должен иметь доступ к exportLinks

После того, как он имеет экспортные идентификаторы, приложение может получить метаданные файла и извлечь желаемый URL-адрес загрузки из значений exportLinks. Это пары ключевого значения, в которых ключ является типом MIME, а значение является URL-адресом загрузки для преобразованного файла. Приложение может загружать преобразованное содержимое файла из URL-адреса загрузки. Приложения могут отображать преобразованные файлы как только для чтения или позволить пользователям сохранять их как новые файлы.

ответ

0

На самом деле ваше предположение не совсем верно.

exportIds идентичны идентификаторам. Диск отправляет идентификаторы в качестве exportIds просто, чтобы дать вам подсказку, что идентификаторы ссылаются на документы Google, а не на простые файлы. Поэтому используйте exportId, чтобы захватить объект File, и вам хорошо идти. Причина, по которой это массив, состоит в том, что пользователь может выбрать несколько файлов, которые нужно открыть, поэтому вам нужно итерировать массив и обрабатывать каждый из них.

+0

Хорошо спасибо. Я не думаю, что мое приложение в настройках Drive API поддерживает открытие нескольких файлов, но я буду перебирать их, чтобы быть уверенным. – Luke

+0

@pinoyyid хороший ответ – ChenSmile

Смежные вопросы