Получение доступных полей объекта Salesforce с помощью REST API

У меня есть запрос SOSL, в котором я ищу адрес электронной почты как в Contact, так и в Lead SObject. Я указываю запросу возвращать некоторые поля, такие как FirstName, MobilePhone и т. д. Теперь, если в моей организации SF видимость поля MobilePhone не равна true, запрос возвращает «Неверный столбец MobilePhone».

Есть ли способ получить доступные поля для заданного объекта используя Force.com REST API перед запуском моего запроса?

Мой запрос SOSL

FIND {[email protected]} 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)

person Aravind    schedule 12.06.2012    source источник


Ответы (1)


Вы можете найти необходимую информацию, используя функции SObject Describe или эквивалент REST API, /services/data/v24.0/sobject/[SObject]/describe Вызов описания REST API. Если такое поле, как MobilePhone, отсутствует в списке дочерних «полей», возвращаемом вызовом описания REST, то оно недоступно. Поэтому, если у вас есть список полей, которые вы хотели бы вернуть, вам следует проверить, возвращаются ли они в списке «полей», и не включать их в свой запрос SOSL, если их там нет.

person Matt Lacey    schedule 12.06.2012
comment
Спасибо, Мэтт. Я попробовал описать остальные ресурсы. Как вы упомянули, он не возвращает скрытые поля. Есть ли другой способ получить все поля объекта в SF. - person Aravind; 12.06.2012
comment
ресурс описания - это то, что вы хотите, у него есть список доступных полей, вы выбираете свой список полей в запросе на основе этого. - person superfell; 12.06.2012
comment
Aravind, superfell верен --- если данное поле, которое вы хотите запросить, не возвращается в свойстве fields вызова описания REST API данного SObject, то это поле недоступно для работающего пользователя, поэтому вы не должны включите его в свой запрос SOSL. - person zachelrath; 12.06.2012