Вопрос

Я работаю над приложением для Android, которое использует gdata-java-client для загрузки документов только для отображения.Пока что у меня есть приложение, которое проходит аутентификацию с помощью сервисов и отображает список пользовательских документов.Когда пользователь выбирает документ, для самих документов выполняется другой запрос.Запрос файлов txt, html, rtf и doc работает хорошо, однако, когда я запрашиваю электронную таблицу в формате .csv или .xsl, результат оказывается неожиданным.

Я использую объект HttpResponse для хранения результата HttpRequest.Когда я запрашиваю документ в формате .csv или .xsl, метод HttpResponse.parseAsString() создает целую html-страницу, которая выглядит как домашняя страница Google Docs.Звучит странно, но результатом является фактический html-код для страницы входа в систему.HttpResponse.getStatusMessage возвращает значение 200.

Похоже, я упускаю здесь что-то простое.Есть ли другое свойство HttpResponse, которое содержит данные .csv?

Я почти уверен, что использую правильный uri для загрузки электронных таблиц, потому что он работает, когда я загружаю через свой браузер.В любом случае, вот пример uri:

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv

Заранее спасибо за любую помощь :)

Это было полезно?

Решение

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

Пожалуйста, сообщите о своей проблеме на форуме Documents List API, чтобы увеличить вероятность того, что кто-то знающий сможет разобраться в этой проблеме:

http://www.google.com/support/forum/p/apps-apis/label?lid=5c316c702e844c99&hl=en

Другие советы

Я не видел ваш код, но, безусловно, этот вопрос заключается в том, что вы используете ClientLogin, а также аутентифицированы для API списка документов, используя службу «Wrirete». Тем не менее, поскольку экспортирование электронной таблицы будет нажать SpreatsShies.Google.com, вам нужно будет использовать ClientLogin для аутентификации против службы «WISE». От Java, это означает, что используя электронные таблицы Java клиентской библиотеки, которая здесь документирована:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#dhnloadspreadsheadsheap

Обратите внимание на примечание, помеченнуюВажный«На вершине, какие ссылки здесь:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#downloadspreadsheadsClientLogin

При этой связи используется экземпляр SpreadsheetClient.

Удачи :)

Это 2017, и сейчас есть совершенно новый способ делать вещи сейчас. Gdata, apis gdata, такие как списка документов API, клиентLogin и URL-адреса загрузки диска, все теперь устарели. На их месте есть API привода, API листов и более родственный способ интеграции с Google Technologies от Android-приложений: Библиотека клиента Google API для Android. Отказ Там тоже есть Библиотека клиента Google API для Java Если вы делаете вместо этого сервера.

Если вы хотите выполнить документ- ориентированные операции на электронные таблицы, вы бы использовали API Google Pailets API И сделайте это, используя клиентскую библиотеку выше. Теперь для некоторых примеров ... вот Android QuickStart код образец а также более общее Образец кода Java QuickStart Для листов API. Не могу больно пройти по Ссылка Javadocs для API листов либо. Последние листы API предоставляют функции, недоступные в более старых выпусках, а именно предоставление разработчикам программный доступ к документам доступа к листу, как если бы вы использовали пользовательский интерфейс (создайте замороженные строки, выполняют форматирование ячейки, размеры строк / столбцов, добавлением поворотных таблиц, создание изменений диаграммы и т. Д.)

Однако для выполнения файлдоступ, например, в вопросе ОП, вы бы использовали API Google Drive. Отказ Там даже API Google Drive для Android, в том числе а Страница документов, специально на получение содержимого документа. Отказ Если вы новичок в этой библиотеке, вот Привод API Android QuickStart приложение приложения так же как Другие образцы кода чтобы начать. Вот Привод API для справочных документов класса Android слишком.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top