Приложение ChromeOS: Простой пример приложения, которое открывается/сохраняется на Google Диске, а также для загрузки и внешнего диска.

Мне удалось использовать API файловой системы в приложении Chrome на моем Chromebook. Но ни один из примеров, которые я нашел, не позволяет открывать файлы с Google Диска. Любое количество приложений на Chromebook (предоставленных или добавленных) открывает точно такое же диалоговое окно, но с Google Диском, отображаемым слева вместе с загрузкой и внешним диском.

Есть ли простой пример приложения, показывающий, как это делается?

Или я просто упустил какую-то концепцию, которая заставит даже примеры Diff или TextEdit работать таким образом, если это будет сделано (например, возможно, отправка приложения в магазин - прямо сейчас я просто загружаю и упаковываю свои собственные из локального хранилища)?


person user1920796    schedule 21.12.2012    source источник
comment
Вы можете получить доступ к файлам Google Диска с помощью его API: developers.google.com/drive/v2/ ссылка   -  person Ido Green    schedule 23.12.2012
comment
Спасибо. Но это низкоуровневый API. Я ищу пример кода, который использует стандартный диалог (Документы Google и некоторые другие приложения, которые я загрузил, используют точно такой же) для Chrome OS, который включает файловую систему и файлы Google Диска. Я подозреваю, что это просто диалоговое окно открытия файла API файловой системы с некоторой магией manifest.json или то, что этот диалог автоматически включает информацию о Google Диске при загрузке через Google Play. Кто-нибудь знает или имеет образец кода?   -  person user1920796    schedule 27.12.2012


Ответы (2)


Из вашего комментария кажется, что вы захотите использовать Google Drive SDK для интеграции открытого файла .' в ваше веб-приложение.

и, что еще более важно, — средство выбора файлов — для интеграции средства выбора файлов вам нужно будет использовать клиентскую библиотеку Google JS. Затем вы сможете открыть диалоговое окно файла с помощью такого кода:

// Use the Google Loader script to load the google.picker script.
google.setOnLoadCallback(createPicker);
google.load('picker', '1');

// Create and render a Picker object for searching images.
function createPicker() {
    var picker = new google.picker.PickerBuilder().
        addView(google.picker.ViewId.IMAGE_SEARCH).
        setCallback(pickerCallback).
        build();
    picker.setVisible(true);
}

Удачи.

person Ido Green    schedule 27.12.2012
comment
Идо, я ценю твою помощь. Это выглядит многообещающе, но не будет работать в приложении (manifest.json с тегом приложения). В коде есть вызовы document.write(), которые запрещены в модели приложения. (Хм. Не уверен, что расширения, которые я рассматривал, соответствуют модели приложения.) Пример: 'mail.google.com/mail/mu/mp/530/?mui=ca#co' отключает gmail. Это делает то, о чем я говорю, когда вы нажимаете кнопку «Создать», а затем скрепку. (Результирующий диалог полностью отличается от Linux и Chromebook, что подразумевает, что он из браузера.) Строка «выборщик», похоже, отсутствует где-либо в коде. - person user1920796; 31.12.2012
comment
Драт. Просто загрузил его в Chrome Store в качестве теста и не был слишком удивлен, увидев, что загрузка его из App Store не дает ему возможности видеть элементы Google Диска в стандартном диалоговом окне файла ChromeOS. - person user1920796; 01.01.2013

Ответом на это является использование кода ‹input type="file" name="somename" size="chars"> в браузере. Вот что производит это. Он создает стандартный способ чтения файла с диска или Google диска. Это то, что я видел в нескольких приложениях. Все материалы API — отвлекающий маневр, если кто-то хочет получить доступ к этому простому диалоговому окну.

Однако он не позволяет мне ЗАПИСАТЬ, просто читать, поскольку можно было бы ожидать, что он будет возвращать только содержимое файла, а не какой-либо дескриптор файла или даже полное имя. Я поиграю с ним и выясню, могу ли я найти какой-нибудь хук, который скажет мне записать его на диск Google (используя ссылки, которые я предоставил выше). Если у кого-то есть предложения о том, где можно найти полный путь (или интересный путь на Google Диске), используя это, я буду рад их услышать.

person user1920796    schedule 02.01.2013