首页 > 解决方案 > 无法使用 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

任何建议将不胜感激。谢谢

标签: pythonsalesforce

解决方案


也许批量 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 - 这是您的自定义字段。你说你检查了权限,你确定这个对你的个人资料是可读的吗?

推荐阅读