4
我正在爲python中的客戶/訂單處理編寫一個web應用程序,集成了asana。Mandrill python API附件錯誤消息
對於已註冊的接收訂單,發票創建爲.pdf。這個文件我想發送到asana作爲使用mandrill的電子郵件附件,因爲asana python API還沒有提供附件。
由於山魈希望附件作爲一個base64編碼字符串的內容,我創建一個使用此功能的PDF格式的二進制:
def binaryFile(self, pathToFile):
binary_obj = xmlrpclib.Binary(open(pathToFile).read())
return binary_obj
連同文件的路徑,我把這個變成山魈像這樣:
'attachments': [{'content': binaryFile,
'name': pathOfFile,
'type': 'application/pdf'}]
當我嘗試發送整個事情,這就是我得到:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/mandrill.py", line 1215, in send
return self.master.call('messages/send', _params)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mandrill.py", line 131, in call
params = json.dumps(params)
OverflowError: Overlong 3 byte UTF-8 sequence detected when encoding string
誰能暗示我做錯了什麼?
謝謝。
浪費了這麼多時間,終於得到了這個答案。非常感謝@creimers。 +1。我仍然在想爲什麼我們需要這樣做?爲什麼它可以是直的? –