オブジェクトのいくつかのカスタム フィールドを更新する必要がありsalesforce
ます。そのために、upsert
メソッドを使用しようとしています。モジュールの選択に少し混乱しています。SforceEnterpriseClient
またはSforcePartnerClient
のsforce
。package prefix
最初の の名前が必要になると思いますupsert
。sforce
またはを使用してこれらのことを行う必要がありますsuds
。sforce
とsuds
トリックに関する少しの説明が役に立ちます。
質問する
190 次
1 に答える
1
ビートボックスライブラリを試しましたか? salesforce-python-toolkit よりもシンプルです
これは、カスタム フィールドをアップサートする方法の完全なサンプルです。
import sys
import beatbox
import xmltramp
import datetime
sf = beatbox._tPartnerNS
svc = beatbox.Client()
class BeatBoxDemo:
def login(self, username, password):
self.password = password
loginResult = svc.login(username, password)
print "sid = " + str(loginResult[sf.sessionId])
print "welcome " + str(loginResult[sf.userInfo][sf.userFullName])
def upsert(self):
print "\nupsert"
t = { 'type': 'Task',
'ChandlerId__c': '12345',
'subject': 'BeatBoxTest updated',
'ActivityDate' : datetime.date(2006,2,20) }
ur = svc.upsert('ChandlerId__c', t)
print str(ur[sf.success]) + " -> " + str(ur[sf.id])
t = { 'type': 'Event',
'ChandlerId__c': '67890',
'durationinminutes': 45,
'subject': 'BeatBoxTest',
'ActivityDateTime' : datetime.datetime(2006,2,20,13,30,30),
'IsPrivate': False }
ur = svc.upsert('ChandlerId__c', t)
if str(ur[sf.success]) == 'true':
print "id " + str(ur[sf.id])
else:
print "error " + str(ur[sf.errors][sf.statusCode]) + ":" + str(ur[sf.errors][sf.message])
if __name__ == "__main__":
if len(sys.argv) != 3:
print "usage is demo.py <username> <password>"
else:
demo = BeatBoxDemo()
demo.login(sys.argv[1], sys.argv[2])
demo.upsert()
于 2012-09-20T15:44:26.083 に答える