python - 如何直接从 Salesforce Lightning 下载 CSV 格式的报告?

标签 python salesforce salesforce-lightning

我正在创建一个 Python 脚本,用于以 CSV 格式从 Salesforce 下载报告。

我的脚本在 Salesforce Classic 中运行良好。但是,我需要让它为 Lightning Experience 工作。我正在使用 simple-salesforce Python 包访问我们的组织。对于 SF Classic,我输入了一个结构如下的链接:https://my-company.my.salesforce.com/my_report_id?view=d&snip&export=1&enc=UTF-8&xf=csv

脚本基本上是这样的:

from simple-salesforce import Salesforce
import requests
import pandas as pd
import csv
from io import StringIO

sf = Salesforce(username="my_username", password="my_password",
                security_token="my_token")
sf_org = "https://my_company.my.salesforce.com/"
report_id = "0000" # Some report id

sf_report_loc = "{0}{1}?view=d&snip&export=1&enc=UTF-8&xf=csv".format(sf_org, report_id)

response = requests.get(sf_report_loc, headers=sf.headers, cookies={"sid": sf.session_id})
new_report = response.content.decode("utf-8")
df = pd.read_csv(StringIO(new_report)) # Save the report to a DataFrame.

每当我切换到 Lightning 时,链接无效并且我被重定向。有没有办法在 Lightning 中完成这项工作?

最佳答案

尝试使用 isdtp 参数。在经典中,它用于强制查看没有侧边栏或标题的页面,例如将 isdtp=vw 添加到随机页面,看看会发生什么。

https://my_company.my.salesforce.com/00O.....?isdtp=p1&export=1&enc=UTF-8&xf=csv ?

(不知道什么是“p1”,但这是我在 Chrome 的下载历史记录中看到的报告源 URL 的一部分)

关于python - 如何直接从 Salesforce Lightning 下载 CSV 格式的报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57575852/

相关文章:

http - 从 Salesforce.com APEX 发布 'multipart/form-data'

javascript - 我正在尝试在 javascript Controller 中使用正则表达式验证字符串?

javascript - Console.log() 它不显示函数的结果

python - Ansible:将对象列表传递给 python 脚本

Python:为什么我得到 [Errno 13] Permission Denied?

Python,在我的 Python 代码中得到了一个意外的关键字参数

javascript - 使用 Postman 的 Salesforce 集成 INVALID_SESSION_ID

python - 在 Python 中使用哪个控制台库?

javascript - DocuSign 自定义按钮问题,帐户名称包含撇号和/或 & 符号

perl 500 证书验证失败