使用RESTAPI获取Salesforce对象的可访问字段

使用RESTAPI获取Salesforce对象的可访问字段,salesforce,apex-code,force.com,Salesforce,Apex Code,Force.com,我有一个SOSL查询,其中我在Contact和Lead SObject中搜索电子邮件地址。我指示查询返回一些字段,如FirstName、MobilePhone等,现在,如果我的SF组织没有将MobilePhone字段可见性设置为true,则查询返回“Invalid Column MobilePhone” 在启动查询之前,是否有一种方法可以使用Force.com REST API获取给定对象的可用字段 我的SOSL查询是 FIND {test@er.com} IN EMAIL FIELDS RET

我有一个SOSL查询,其中我在Contact和Lead SObject中搜索电子邮件地址。我指示查询返回一些字段,如FirstName、MobilePhone等,现在,如果我的SF组织没有将MobilePhone字段可见性设置为true,则查询返回“Invalid Column MobilePhone”

在启动查询之前,是否有一种方法可以使用Force.com REST API获取给定对象的可用字段

我的SOSL查询是

FIND {test@er.com} IN EMAIL FIELDS RETURNING Contact(Phone, Id, Department, Email, isDeleted, Name, MailingCity, Title ), Lead(Id, City, Company, Country, Name, MobilePhone, Phone, State, Status, Street, Title)

您可以使用或与RESTAPI等效的/services/data/v24.0/sobject/[sobject]/description找到所需的信息。如果诸如MobilePhone之类的字段不在REST描述调用返回的子“字段”列表中,则该字段不可访问。因此,如果您有一个要返回的字段列表,您应该检查这些字段是否已返回到“字段”列表中,如果没有,则不要将它们包含在SOSL查询中。

谢谢。我尝试了“描述”rest资源。正如您提到的,它不会返回隐藏字段。有没有其他方法可以获取SF中一个对象的所有字段。描述资源是您想要的,它有可用字段的列表,您可以在此基础上筛选查询中的字段列表。Aravind,superfell是正确的——如果您想查询的给定字段没有在“字段”中返回属性,则运行的用户无法访问该字段,因此不应将其包括在SOSL查询中。