[英]Get read permissions or security related objects via salesforce API
我正計划通過以下查詢獲取對象的讀取權限,
queryResults = connection.query("SELECT Assignee.Id, Assignee.Name" +
" FROM PermissionSetAssignment" +
" WHERE PermissionSetId" +
" IN (SELECT ParentId" +
" FROM ObjectPermissions" +
" WHERE SObjectType = GivenObjectType AND" +
" PermissionsRead = true)");
這適用於大多數Salesforce對象。 但是對於與安全性相關的對象(例如“組”,“個人檔案”),此方法不起作用。 (即,當我想檢查可以看到用戶信息的用戶時,我應該能夠傳遞GivenObjectType =“ User”並獲得所有可以看到其他用戶信息的用戶。
有沒有辦法可以做到這一點?
注意:我確定了以下對象類型,這些對象類型在ObjectPermissions.SObjectType用戶,組,伙伴,配置文件和任務中不支持(不是與安全性相關的對象)
謝謝!
編輯以回答評論
概況/權限集只是說,如果你被允許查看,編輯等, 在所有帳戶。 他們不會告訴您是否可以編輯帳戶“ XYZ”。
然后,您應該查看AccountShare
或UserRecordAccess
表。 他們將為您提供很好的拼合信息,而不是嘗試重新創建共享規則。
檢查Daniel對https://salesforce.stackexchange.com/questions/7805/show-insufficient-privileges-direct-when-clicking-edit-override-not-on的回答,這應該為您提供一個良好的開端,並且您會知道什么現在要搜索的關鍵字。
原始答案
對於像組這樣的設置對象(還包括隊列),您可能必須查看系統權限。 我相信,那將由“ 管理用戶 ”控制。 至少我的一些用戶抱怨說,沒有它,他們將看不到誰實際上是給定隊列的成員。 訪問User對象可能是同一回事。
您應該能夠在PermissionSet對象中找到它們。
我認為合作伙伴和任務之間具有“主從關系”(我認為是帳戶和任何具有“允許活動”的對象……)。 再說一遍-我認為幫助是您最好的朋友: https : //help.salesforce.com/HTViewHelpDoc?id=partners_edit.htm , https : //help.salesforce.com/HTViewHelpDoc ?id=creating_tasks.htm等。
我很好奇為什么要使用它,為什么要堅持查詢而不是使用描述調用(例如“ isAccessible”或Metadata API / Tooling API),如果您想將其提取到Java應用程序中。 個人資料及相關內容的查詢是最近才公開的,如果某些內容丟失/不一致,我也不會感到驚訝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.