Я пытаюсь импортировать файлы, созданные в 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-адреса загрузки. Приложения могут отображать преобразованные файлы как только для чтения или позволить пользователям сохранять их как новые файлы.
Хорошо спасибо. Я не думаю, что мое приложение в настройках Drive API поддерживает открытие нескольких файлов, но я буду перебирать их, чтобы быть уверенным. – Luke
@pinoyyid хороший ответ – ChenSmile