приложить электронную таблицу к почтовому сообщению с помощью gae - PullRequest
0 голосов
/ 18 сентября 2009

Я использую 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 как допустимый тип вложения.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 25 сентября 2009

Интересный вопрос.

Поскольку вы используете GData для его создания, ваше приложение GAE должно иметь права на получение его копии и вложение. Не уверен, в каком формате это было бы, и как парень, который получает это, использует это все же.

Если вы прикрепите электронную таблицу Google к электронному письму, как этот человек откроет ее? Так как Google работает «в сети»? Я знаю, что у Google теперь есть автономный вариант, но я еще не пробовал. Я думаю, что это требует установки Google Gears и других вещей на локальном компьютере.

Хотите ли вы, чтобы люди делились электронной таблицей или каждый получал свою собственную копию? Не могли бы вы просто изменить права, чтобы больше людей имели доступ только для чтения или обновляли доступ?

Все ли ваши получатели имеют Excel? У всех ли они есть аккаунты Google App?

Нил Уолтерс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...