Btibert3
6/26/2017 - 3:09 PM

Upload attachment to Salesforce using Python

Upload attachment to Salesforce using Python

import beatbox
import base64
 
userName = ''
securityToken = ''
password = '' + securityToken
 
svc = beatbox.PythonClient()
svc.login(userName, password)
 
body = ""
with open("text.txt", "rb") as f:
    body = base64.b64encode(f.read())
 
res = svc.query("SELECT Id, Name FROM Account LIMIT 1")
accountId = res[0].Id
print res[0].Name
 
update_dict = {
    'type' : 'Attachment',
    'ParentId' : accountId,
    'Name' : 'text.txt',
    'Body' : body 
}
 
results = svc.create(update_dict)
print results
import requests
import base64
import json
from simple_salesforce import Salesforce

userName = ''
password = ''
securityToken = ''
instance = ''

sf = Salesforce(username=userName, password=password, security_token=securityToken)
sessionId = sf.session_id

account = sf.query("SELECT Id, Name FROM Account LIMIT 1")
accountId = account["records"][0]["Id"]

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

response = requests.post('https://%s.salesforce.com/services/data/v29.0/sobjects/Attachment/' % instance,
    headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer %s' % sessionId },
    data = json.dumps({
        'ParentId': accountId,
        'Name': 'rest_test.txt',
        'body': body
    })
)

print response.text