관리되지 않는 패키지의 제거를 처리하는 간단한 스크립트를 apex에 작성하려고합니다. 내가 '상호 참조 ID의 faultCode를에 대한 액세스 권한이 부족 = SF : INSUFFICIENT_ACCESS INSUFFICIENT_ACCESS의 faultactor ='다음과 같은 오류를 얻을이 스크립트를 실행하면관리되지 않는 패키지를 제거하는 Apex 스크립트가 INSUFFICIENT_ACCESS를 throw합니다. 액세스 권한 부족 오류
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;
}
을 다음과 같이 코드는
모든 가능한 솔루션을 찾으려고했지만 모두가 수정 권한이이 스크립트를 처리하는 프로필에서 사용하도록 설정되어 있습니다. 그렇습니다. sys admin 프로파일을 사용하여이 스크립트를 실행하면 권한이 활성화됩니다.
연결된 응용 프로그램을 사용하여 세션 ID를 가져 오려고했지만 다시 문제가 해결되지 않았습니다.
누군가 나를 풀어 주실 수 있습니까?