VerfahrenOrgUnit Nicht Google Directory-API
Ich werde Gefunden mit:
1. Holen Sie sich ein OrgUnit aus dem Google-Verzeichnis API
2. OrgUnit Lesen und die erforderlichen Daten sammeln
3. Versuchen Sie, die OrgUnit, die ich gerade gesammelt habe, zu löschen.
Dies führt irgendwie zu einem Fehler 404 [Not Found]
Bitte beachten Sie, dass die DirectoryService-Klasse, die ich verwende, ordnungsgemäß funktioniert.
I modifiziert, um den Code in diesem Beispiel um es einfach zu lesen, zum Beispiel: Die Ausnahmebehandlung ist nicht usw.
Die API
using Google.Apis.Admin.Directory.directory_v1
1. eine OrgUnit aus dem Get enthalten Google Verzeichnis API
DirectoryService directoryService = ServiceInitializers.InitializeDirectoryService();
OrgUnit oUnit = directoryService.Orgunits.List(Settings.customerId).Execute().OrganizationUnits.FirstOrDefault();
2.Read die OrgUnit und sammeln die erforderlichen Daten
string orgUnitPath = oUnit.OrgUnitPath;
3.Try die OrgUnit löschen Ich sammelte nur
var orgUnitDeleteResult = directoryService.Orgunits.Delete(Settings.customerId, orgUnitPath).Execute();
die Ausnahme
GoogleApiException wurde nicht behandelt
Eine nicht behandelte Ausnahme des Typs 'Google.GoogleApiException' aufgetreten in Google.Apis.dll
Zusätzliche Informationen: Google.Apis.Requests.RequestError Org-Einheit nicht gefunden [404]
Sie scheinen FirstOrDefault() zu verwenden, das Ihnen möglicherweise ein leeres Objekt gibt, wenn tatsächlich keine Organisationseinheiten in der Domäne vorhanden sind.Können Sie bestätigen, dass der orgUnitPath ausgefüllt und nicht leer ist? –
In diesem Fall hätte Schritt 2 mir eine NullReferenceException gegeben –
Nicht unbedingt Nick. Vielleicht ist der Wert ** default ** für OrganizationUnits eine Art von Objekt, das eine leere Sammlung enthält. Es darf nicht null sein, es kann nur bedeuten, dass orgUnitPath eine leere Zeichenfolge oder einen Nullwert zurückgibt. Kannst du das bestätigen? Schauen Sie sich die [Beispiele für Enumerable.FirstOrDefault] (https://msdn.microsoft.com/en-us/library/vstudio/bb340482 (v = vs.100) .aspx) für ein leeres Array an. –