0

オブジェクトのいくつかのカスタム フィールドを更新する必要がありsalesforceます。そのために、upsertメソッドを使用しようとしています。モジュールの選択に少し混乱しています。SforceEnterpriseClientまたはSforcePartnerClientsforcepackage prefix最初の の名前が必要になると思いますupsertsforceまたはを使用してこれらのことを行う必要がありますsudssforcesudsトリックに関する少しの説明が役に立ちます。

4

1 に答える 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 に答える