Я использую Django на Python SDK GEA.
Мое приложение - приложение для обработки заказов для малого бизнеса. Я хочу отправить клиенту уведомление о доставке в виде электронной таблицы по завершении заказа. Сейчас я читаю документы, и нет проблем с отправкой вложений, только в gae разрешены только определенные типы файлов.
Я создал документ электронной таблицы, используя API данных Google, но моя проблема заключается в том, как получить документ электронной таблицы Google, отправленный клиенту по электронной почте. Мой appengine находится в размещенном домене, поэтому обычные учетные записи gmail не имеют к нему доступа, и многие учетные записи электронной почты клиентов в любом случае даже не будут gmail, вложение электронной таблицы Google будет просто объектом атома xml, указывающим на размещенный документ в моем аккаунте, который не будет доступен для внешних пользователей, верно?
Есть ли способ скопировать этот объект электронной таблицы и прикрепить его к электронному письму, чтобы он мог открываться локально пользователями без прав доступа к моему документу Google, его можно открыть в автономном режиме. Мой код выглядит так:
new_entry = gdata.GDataEntry()
new_entry.title = gdata.atom.Title(text='Delivery Note from ' + company.company_name)
category = gd_client._MakeKindCategory(gdata.docs.service.SPREADSHEET_LABEL)
new_entry.category.append(category)
doc_entry = gd_client.Post(new_entry, '/feeds/documents/private/full')
.....now build the spreadsheet
doc_title = 'deliverynote' + '.' + doc_entry.title.type
.....build the email body
mail.send_mail(sender_address, to_address, subject, body, attachments=[(doc_title, str(doc_entry))])
Делая это таким образом, однако, когда клиент получает письмо, когда он пытается открыть его, он получает неожиданную ошибку (точные слова, которые использует Google, когда он пытается и открывает его).
Другой альтернативой, конечно, является попытка преобразовать его в файл Excel. Google предоставляет методы для экспорта файла в виде файла Excel в локальную файловую систему, но затем программа сталкивается с проблемой его повторной загрузки без какого-либо ручного вмешательства пользователя. Кроме того, тип файла Excel не поддерживается gae как допустимый тип вложения.
У кого-нибудь есть идеи?