Ich versuche, ein einfaches Skript in Apex zu schreiben, um die Deinstallation eines nicht verwalteten Pakets zu behandeln. Der Code ist alsApex-Skript zum Deinstallieren eines nicht verwalteten Pakets löst INSUFFICIENT_ACCESS aus: unzureichende Zugriffsrechte Fehler
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;
}
folgt Wenn ich dieses Skript, das ich die folgende Fehlermeldung führen 'INSUFFICIENT_ACCESS: unzureichende Zugriffsrechte auf Querverweis id faultcode = sf: INSUFFICIENT_ACCESS faultactor ='
Ich habe versucht, nach allen möglichen Lösungen zu suchen, aber alle darauf hingewiesen, die Alle Berechtigung ändern aktiviert auf das Profil, das dieses Skript behandelt, Und ja, ich bin u Singen Sie ein sys-Admin-Profil, um dieses Skript auszuführen, und die Berechtigung ist aktiviert.
Ich versuchte, eine verbundene Anwendung zu verwenden, um die Sitzungs-ID zu erhalten, aber auch das Problem wurde nicht behoben.
Könnte jemand bitte mir helfen, dies zu lösen?