使用python中的simple_salesforce包更新SalesForce中的现有报告

jk9hmnmh  于 2023-01-18  发布在  Python
关注(0)|答案(1)|浏览(175)

给定我创建的SalesForce上的现有报告,我是否可以使用python中的simple_salesforce包更新报告的内容?

# A Pseudo code to get the expected result
from simple_salesforce import Salesforce

sf = Salesforce(username='my_user_name', 
                password='my_password',
                security_token='my_security_token')


export_url = "link to the report I want to change"

session = requests.Session()

response = requests.get(export_url, 
                       headers=sf.headers, 
                       cookies={'sid': sf.session_id})

# this part is pseudo-code, for instance, I want to change a column of the report, I change it and then upload the new version as the current report
response.update(response, data)
ibps3vxo

ibps3vxo1#

你有点超出了Simple的舒适区。你不操作数据,甚至不使用restful调用进行“正常”的API操作。你只是(ab)使用Simple的登录功能来获取会话ID,并假装你是一个浏览器。所以你可以在Postman中尝试下面的请求,然后回到你的Python程序。
我不知道你是不是把事情搞得太复杂了。你确定你真的需要一份报告?

  • 也许可以用普通的SOQL查询来完成?
  • 有正确的API for reportsfilter a report on the fly的方法。它不会保存对报告的更改。但该API将以JSON返回结果,您可能围绕CSV编写了您的内容。
  • 如果您需要实际保存更改-有适当的工具API/元数据API调用来获取、修改和部署回report definition as XML file。同样,simple可能不是执行此任务的最佳工具,sfdx可能更好。
  • 我怀疑你会忽略所有这些,坚持伪造一个浏览器。谷歌周围的“网址黑客”,例如here。因为它成为更多的配置比代码问题-你可以找到一些好东西在专门的姐妹网站,有更多的管理员比stackoverflow。例如https://salesforce.stackexchange.com/q/110219/799

相关问题