我是否尝试使用API Explorer https://developers.google.com/admin-sdk/directory/v1/reference/orgunits/delete#try-it或使用.NET API时遇到同样的问题。
我有一个简单的集成测试,可以在该组织下创建一个新的Orgunit +用户。
然后我这样做:
我知道orgunit仍在那里。我可以进入API Explorer并在此处列出https://developers.google.com/admin-sdk/directory/v1/reference/orgunits/list
如果我现在尝试在API Explorer中删除它,那就没有运气了。我也尝试使用我的root OU的真实客户ID(而不是my_customer)。仍然没有运气。
方式我可以通过管理控制台删除此orgunit。
此操作成功 - 此组织下方没有子组织或用户,或者它将失败。
为什么我不能通过API或API Explorer删除Orgunit?
答案 0 :(得分:0)
您可以使用以下嵌入在Google表格文档中的Google Apps脚本删除OU的列表。
这是脚本:
function DeleteOrgUnits(){
var inputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OrgUnits");
var outputSheetLog = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Log");
var dataValues = inputSheet.getDataRange().getValues();
var i, err, errObj;
var orgUnit, orgUnitItem, orgUnitId = [], orgUnitPath;
var customerId = CUSTOMER_ID;
outputSheetLog.getDataRange().clear();
if (dataValues){
for ( i in dataValues ){
orgUnit = dataValues[ i ];
orgUnitPath = orgUnit[ 0 ];
orgUnitId = orgUnit[ 1 ];
if (orgUnitPath.length > 0 ){
err = false;
try {
orgUnitItem = AdminDirectory.Orgunits.remove(customerId, orgUnitId);
} catch(e){ err = true; errObj = e; };
if (err)
outputSheetLog.appendRow([orgUnitPath, 'Error', orgUnitItem, errObj.message ]);
else
outputSheetLog.appendRow([orgUnitPath, 'Deleted', orgUnitItem ]);
}
}
outputSheetLog.appendRow(['Done!']);
} else {
outputSheetLog.appendRow(['No Data!']);
}
}