使用python和simple_salesforce将文件上传到salesforce为空

时间:2015-08-05 10:55:14

标签: python salesforce

我正在尝试使用python和simple_salesforce将文件上传到salesforce中的Folder对象。文件已上载但为空。任何人都可以告诉我为什么以及如何解决这个问题?谢谢。

import base64
import json
from simple_salesforce import Salesforce

userName = 'username'
passWord = 'password'
securitytoken = 'securitytoken'

sf=Salesforce(username='userName', password='passWord', security_token='securitytoken', sandbox = True)
sessionId = sf.session_id

body = ""
with open("Info.txt", "r") as f:
    body = base64.b64encode(f.read())

response = requests.post('https://cs17.my.salesforce.com/services/data/v23.0/sobjects/Document/',
headers = { 'Content-type': 'application/json', 'Authorization':'Bearer %s' % sessionId},
data = json.dumps({
    'Description':'Information',
    'Keywords':'Information',
    'FolderId': '00lg0000000MQykAAG',
    'Name': 'Info',
    'Type':'txt'
    })
)

print response.text

1 个答案:

答案 0 :(得分:1)

根据上面的代码,您的请求不完整。您可以将正文值创建为要上传的文件的b64编码,但它不包含在与“'正文”关联的数据中。键。

根据您的json版本,您可能会遇到一些问题,使输出与Salesforce一起发挥出色。我从json切换到simplejson,这对我来说效果更好。