![](/img/trans.png)
[英]Salesforce "Record is not createable INSUFFICIENT_ACCESS" error
[英]Apex script to uninstall an unmanaged package throws INSUFFICIENT_ACCESS: insufficient access rights error
我試圖在apex中編寫一個簡單的腳本來處理非托管軟件包的卸載。 代碼如下
public static void uninstallPackage() {
String[] fullNames = new String[1];
fullNames[0] = 'SomePackage';
System.debug('fullNames -->'+fullNames);
MetadataService.DeleteResult[] result = createService().deleteMetadata('InstalledPackage',fullNames);
}
private static MetadataService.MetadataPort createService() {
MetadataService.MetadataPort service = new MetadataService.MetadataPort();
service.SessionHeader = new MetadataService.SessionHeader_element();
service.SessionHeader.sessionId = UserInfo.getSessionId();
return service;
}
當我運行此腳本時,出現以下錯誤' INSUFFICIENT_ACCESS:交叉引用ID的訪問權限不足faultcode = sf:INSUFFICIENT_ACCESS faultactor = '
我嘗試搜索所有可能的解決方案,但都指出在處理此腳本的配置文件上啟用了“ 全部修改”權限 ,是的,我正在使用sys管理員配置文件來運行此腳本並啟用了該權限。
我嘗試使用連接的應用程序獲取會話ID,但同樣也無法解決問題。
有人可以幫我解決這個問題嗎?
在進一步研究中發現,上述腳本不適用於非托管程序包。 使用上述腳本,我們可以卸載托管軟件包。 我們應該將軟件包的名稱空間作為name參數。由於非托管軟件包沒有名稱空間,因此我們將無法卸載非托管軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.