Salesforce Describe呼叫共享对象

时间:2013-03-01 11:26:30

标签: salesforce apex-code

任何人都知道如何从描述调用中获取共享对象或共享规则?我认为这不可行!

谢谢你的帮助,

最佳, 馒头

2 个答案:

答案 0 :(得分:1)

描述信息位于对象和字段级别,而共享规则位于记录级别。因此描述信息不会告诉您谁可以访问特定记录。

可以查询 UserRecordAccess 对象以确定用户是否可以访问单个记录或一组记录。 (请注意,您可以使用带有记录列表的IN子句同时查询多条记录。)

http://www.salesforce.com/us/developer/docs/object_reference/Content/sforce_api_objects_userrecordaccess.htm

答案 1 :(得分:0)

您可以描述与特定记录关联的持有共享的sObject,但为什么需要?这不像我们可以向他们添加任何字段。要查询它们可能吗?适用于REST API(/services/data/v26.0/sobjects/AccountShare)以及Metadata API。

您可以描述共享规则(我认为这是2012年推出的功能)。为此,请检查Eclipse正在检索哪些元数据,package.xml应包含类似于

的条目
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>*</members>
        <name>AccountCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>AccountOwnerSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>CampaignCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>CampaignOwnerSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>CaseCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>CaseOwnerSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>ContactCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>ContactOwnerSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>LeadCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>LeadOwnerSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>OpportunityCriteriaBasedSharingRule</name>
    </types>
    <types>
        <members>*</members>
        <name>OpportunityOwnerSharingRule</name>
    </types>
    <version>26.0</version>
</Package>

最后你可以从(1)查询对象或者如Bob所提到的 - UserRecordAccess表,如果你想知道对特定记录的访问。