我在使用Google Admin SDK和.NET时遇到错误。关于在Google网站上使用此功能的实例,没有太多信息,我可以找到。
唉,我有工作代码,可以在Google Apps域中搜索用户帐户,并返回有关该用户帐户的属性。我找不到的是当找不到搜索到的用户帐户时(表示用户不存在)的情况下的错误处理。
似乎这种情况作为HTTP 404响应返回。大。没问题,但我似乎无法在我的应用程序中优雅地处理这个问题。 IIS只是在/xxx/appname/DefaultRedirectErrorPage.aspx上抛出了“无法找到资源”错误信息。我不确定它来自何处,因为它未在web.config或default.asax中定义。
如果有一个实际的例子,说明如何使用.NET处理这样一个简单的响应,那就太好了。
我对.NET
库一无所知...但我已经使用了底层的HTTP请求(我正在使用PHP)。 API可能无法返回您认为应该...
如果出现错误,API应在JSON
响应中返回“错误”对象。我在寻找错误时检查一下。
在我与目录API的交互中,当检索不存在的用户时,JSON响应不包含用户对象。即使没有用户返回,它也会返回200响应,而不是错误。
例如,如果我搜索不存在的用户,Google会发回如下内容:
{
"kind": "admin#directory#users",
"etag": "\"LOTSOFCHARACTERSHERETHATAREAKEYOFSOMEKIND\""
}
当我搜索有效用户时,我得到的JSON是这样的:
{
"kind": "admin#directory#users",
"etag": "\"LOTSOFCHARACTERSHERETHATAREAKEYOFSOMEKIND\""
"users": [
"kind": "admin#directory#user",
"id": "109020414202478541143",
// lots of other properties here //
]
}
您使用的是Google的.NET
库还是您自己的库?无论哪种方式,我都会检查以确保在搜索到无效用户时,您尝试访问的用户对象确实存在。
希望有所帮助。
迟了几年但我试图弄清楚同样的事情,发现谷歌没有任何关于他们的Admin SDk的错误处理文档。我能够在Google Apps脚本中尝试使用它来解决这个问题。
try {
var page = AdminReports.CustomerUsageReports.get(date, {
parameters: parameters.join(','),
maxResults: 500,
customerId: customerId
});
} catch (error) {
console.log(error.code);
console.log(error.message);
}