python - 无法使用 salesforce_bulk 读取所有 Salesforce 字段
问题描述
我正在使用 python salesforce_bulk 库从 Salesforce 中提取数据。
from salesforce_bulk import SalesforceBulk
如果我尝试读取某些表的所有字段,则会返回错误 INVALID_FIELD。以 CONTACT 表为例,我首先对对象执行描述以返回所有字段,然后使用该字段列表查询 Salesforce。这会返回一个错误,给我一个无效字段列表。
删除这些字段后,查询将起作用。我确定我的帐户可以访问这些字段,因为我可以使用同步(非批量)查询所有 API 提取它们。这使用请求库。
我知道批量 API 不支持复合字段,因此已将其全部删除。
CONTACT 表中的无效字段列表:
Column Salesforce Data-type
EmailBouncedDate DateTime
IsEmailBounced Bool
PhotoUrl V_WString
Jigsaw V_WString
JigsawContactId V_WString
IndividualId V_WString
ActivityMetricId V_WString
Preferred_Name__c V_WString
任何建议将不胜感激。谢谢
解决方案
也许批量 API 更尊重组织安全和配置。我不会指望 SF 将来不会锁定其他 API。(我知道这很愚蠢,但您确定要连接到同一个 SF 组织吗?使用相同的 API 版本?我们现在在 v 50.0 上)。
您可以通过查询来检查用户真正可以访问的内容FieldPermissions
。
根据我的记忆(去 sf help 确认)
- EmailBouncedDate、IsEmailBounced - 只有在设置->可交付性中您激活了退回管理时,它们才会出现在组织中
- PhotoUrl - 您是否启用了 Chatter?或者它可能是社交连接器,如 LinkedIn、Facebook
- Jigsaw - 这是 Data.com 功能的一个非常古老的名称,在欧洲的 GDPR s***风暴期间似乎已经瘫痪。我认为他们正在开发更好的版本,但没有 ETA
- IndividualId - 看起来您的组织没有启用个人。这是另一件 GDPR 式的事情,从联系人(或潜在客户)查找帮助对象,您可以在其中更好地获取营销许可等
- ActivityMetricId - 不认识那个
- Preferred_Name__c - 这是您的自定义字段。你说你检查了权限,你确定这个对你的个人资料是可读的吗?
推荐阅读
- c# - 如何统一使用简单 JSON 从数组数组中获取图像 URL?
- unity3d - 遮挡剔除和遮挡处理有什么区别?
- javascript - 有没有办法从持续更新的文件中读取仅在 nodejs 中的新更新
- java - IntelliJ 中最常用的字符串
- mysql-workbench - mysql工作台没有与aws aurora serverless mysql连接
- pdf - 运行 gulp 任务“buildFonts”以导出带有 HTML 图标的 PDF 时出现问题
- python - VSCode Python 调试器 FileNotFoundError
- java - 用于完成 CheckpointMark 的 Beam 模型合同
- excel - 在列中查找姓氏
- git - 如何从本地删除跟踪目录但保留在存储库中?