首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Beatbox/Python -在Salesforce中更新多条记录时出现问题

Beatbox/Python -在Salesforce中更新多条记录时出现问题
EN

Stack Overflow用户
提问于 2014-03-06 12:28:35
回答 1查看 2K关注 0票数 2

我有一个SFDC开发帐户的beatbox工作得很好。我正在推送Salesforce来创建自定义对象,但它一次更新一个。有没有办法一次推送200个更改来限制我进行的api调用量?

我运行的脚本下载了一批leads,然后通过new_Alert()处理它们,然后一个接一个地上传,所以我很快就达到了应用编程接口的极限。

下面是我正在运行的两个脚本,为了让它更容易阅读,我删掉了大部分“工作”。

代码语言:javascript
复制
def new_Alert(id1,login,pw):
    svc = beatbox.Client()
    svc.login(login, pw)  
        object_dict = {
        'type': 'new_Alert',
        'Lead__c':  str(id1) }
        results = svc.create(object_dict)
        print results


def pushAlerts(login,pw):
    sf = beatbox._tPartnerNS
    svc = beatbox.Client() 
    svc.login(login, pw) 
    qr = svc.query("select Id, OwnerId from Lead")

    for rec in qr[sf.records:]:
        type = rec[0]
        id1 = rec[1]
        owner = rec[2]
        new_Alert(type,id1,login)
    while (str(qr[sf.done]) == 'false'):
        qr = svc.queryMore(str(qr[sf.queryLocator]))
        for rec in qr[sf.records:]:
            type = rec[0]
            id1 = rec[1]
            new_Alert(type,id1,login)
EN

回答 1

Stack Overflow用户

发布于 2014-03-06 13:46:44

create函数可以获取多达200条记录(字典)的列表,您只需将它们累积起来,并在收集到200条记录(字典)后发送一批。

下面是一个一次创建2个帐户记录并检查结果的示例。

代码语言:javascript
复制
def create(self):
    a = { 'type': 'Account',
        'Name': 'New Account',
        'Website': 'http://www.pocketsoap.com/' }
    b = { 'type' : 'Account',
        'Name' : 'Another account',
        'Website' : 'https://github.com/superfell/Beatbox' }

    sr = svc.create([a,b])

    self.printresult(sr[0])
    self.printresult(sr[1])

def printresult(self, sr):
    if str(sr[sf.success]) == 'true':
        print "id " + str(sr[sf.id])
    else:
        print "error " + str(sr[sf.errors][sf.statusCode]) + ":" + str(sr[sf.errors][sf.message])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22214954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档