Thủ tụcđơn vị tổ chức Not Found sử dụng Google Directory API
Tôi sẽ:
1. Nhận một đơn vị tổ chức từ API Google Directory
2. Đọc đơn vị tổ chức và thu thập các dữ liệu cần thiết
3. Cố gắng xóa OrgUnit mà tôi vừa thu thập được.
Điều này bằng cách nào đó dẫn đến Lỗi 404 [Không tìm thấy]
Hãy nhớ rằng Lớp DirectoryService tôi đang sử dụng đang hoạt động bình thường.
tôi sửa đổi mã trong ví dụ này để làm cho nó dễ đọc, ví dụ: xử lý ngoại lệ không được bao gồm, vv
API
using Google.Apis.Admin.Directory.directory_v1
1. Nhận một đơn vị tổ chức từ thư mục API Google
DirectoryService directoryService = ServiceInitializers.InitializeDirectoryService();
OrgUnit oUnit = directoryService.Orgunits.List(Settings.customerId).Execute().OrganizationUnits.FirstOrDefault();
2.Read các đơn vị tổ chức và thu thập các dữ liệu cần thiết
string orgUnitPath = oUnit.OrgUnitPath;
3.Try để xóa các đơn vị tổ chức tôi chỉ thu thập
var orgUnitDeleteResult = directoryService.Orgunits.Delete(Settings.customerId, orgUnitPath).Execute();
Các ngoại lệ
GoogleApiException là unhandled
Một ngoại lệ unhandled của loại 'Google.GoogleApiException' xảy ra ở Google.Apis.dll
thông tin bổ sung: Google.Apis.Requests.RequestError đơn vị Org không tìm thấy [404]
Dường như bạn đang sử dụng FirstOrDefault(), có thể cung cấp cho bạn một đối tượng trống nếu thực tế không có đơn vị tổ chức nào trong miền.Bạn có thể xác nhận rằng orgUnitPath được điền và không trống không? –
Trong trường hợp đó, bước 2 sẽ cho tôi một NullReferenceException –
Không nhất thiết là Nick. Có thể giá trị ** mặc định ** cho OrganisationUnits là một dạng của đối tượng chứa một tập hợp rỗng. Nó có thể không rỗng, nó chỉ có thể có nghĩa là orgUnitPath trả về một chuỗi rỗng hoặc giá trị null. Bạn có thể xác nhận điều đó không? Nhìn vào [ví dụ về Enumerable.FirstOrDefault] (https://msdn.microsoft.com/en-us/library/vstudio/bb340482 (v = vs.100) .aspx) cho một mảng trống. –