Я использую API Gmail в браузере и хочу разрешить пользователю загружать вложения электронной почты. Я вижу https://developers.google.com/gmail/api/v1/reference/users/messages/attachments/get, но он возвращает данные JSON и base64. Я не думаю, что могу получить эти данные в памяти, а затем запустить «загрузку», чтобы сохранить файл локально. Даже если бы я не мог подумать, что это будет эффективно - возможно, он загрузит файл в память и потокочет его в файл. Я думаю, мне нужна прямая ссылка на файл, который возвращает правильное имя файла и необработанные двоичные данные (а не base64). Есть ли способ сделать это? Прямо сейчас я вижу только прокси-запросы.Как загрузить приложение в браузере?
4
A
ответ
0
Вы можете получить данные из base64 и сохранить их в файл локально.
Если вы получаете вложение на Java, вы можете использовать класс (or f.write() in Python)
для записи байтов в файл и сохранения его локально с помощью пути.
Вы можете попробовать следующий пример кода со страницы разработчика Google:
public static void getAttachments(Gmail service, String userId, String messageId)
throws IOException {
Message message = service.users().messages().get(userId, messageId).execute();
List<MessagePart> parts = message.getPayload().getParts();
for (MessagePart part : parts) {
if (part.getFilename() != null && part.getFilename().length() > 0) {
String filename = part.getFilename();
String attId = part.getBody().getAttachmentId();
MessagePartBody attachPart = service.users().messages().attachment().
get(userId, messageId, attId).execute();
byte[] fileByteArray = Base64.decodeBase64(attachPart.getData());
FileOutputStream fileOutFile =
new FileOutputStream("directory_to_store_attachments" + filename);
fileOutFile.write(fileByteArray);
fileOutFile.close();
}
}
}
Смежные вопросы
- 1. Загрузить документы в браузере элементов
- 2. Как загрузить jQuery mobile в браузере проекта?
- 3. Как загрузить файл KML в браузере
- 4. Как загрузить флеш-файл в любом браузере?
- 5. Как принудительно загрузить клиенту .. печатает в браузере
- 6. Как загрузить модули NPM в браузере?
- 7. В Android, как открыть приложение в браузере
- 8. Как загрузить приложение в Web-View в определенном браузере, таком как Chrome или Firefox в Android
- 9. Приложение C# в веб-браузере?
- 10. Как проверить приложение Rails в браузере
- 11. Как приостановить приложение Flash в браузере?
- 12. Как отключить веб-приложение в браузере Chrome
- 13. Как запустить redvelvet (приложение ruby) в браузере?
- 14. Как принудительно загрузить приложение
- 15. Показать приложение для Android, работающее в браузере
- 16. Запустить приложение WPF в браузере
- 17. запустить приложение swing в браузере
- 18. загрузить загружаемую ссылку в браузере в android
- 19. Использование Javascript, как загрузить документы в браузере с помощью пути
- 20. Загрузить файл KML вместо просмотра в браузере
- 21. Не удалось загрузить PDF в браузере Chrome
- 22. Загрузить php-файл в веб-браузере
- 23. Загрузить аудио, записанное в браузере, используя html5
- 24. mp4 не удалось загрузить в мобильном браузере
- 25. Force загрузить удаленно размещенных изображений в браузере
- 26. ASP.NET - Загрузить файл и показать в браузере
- 27. Как загрузить URL-адрес youtube в Android-браузере?
- 28. PDFKit Не удается загрузить изображение в браузере
- 29. Загрузить сборку в приложение
- 30. не может загрузить localhost в браузере - xampp
Я говорю о в стороне клиента браузера, поэтому должны быть в состоянии сделать это в JavaScript с ограничениями браузера. – dgobaud