使用Google Admin SDK并搜索用户时需要处理404错误

问题描述 投票:0回答:2

我在使用Google Admin SDK和.NET时遇到错误。关于在Google网站上使用此功能的实例,没有太多信息,我可以找到。

唉,我有工作代码,可以在Google Apps域中搜索用户帐户,并返回有关该用户帐户的属性。我找不到的是当找不到搜索到的用户帐户时(表示用户不存在)的情况下的错误处理。

似乎这种情况作为HTTP 404响应返回。大。没问题,但我似乎无法在我的应用程序中优雅地处理这个问题。 IIS只是在/xxx/appname/DefaultRedirectErrorPage.aspx上抛出了“无法找到资源”错误信息。我不确定它来自何处,因为它未在web.config或default.asax中定义。

如果有一个实际的例子,说明如何使用.NET处理这样一个简单的响应,那就太好了。

google-admin-sdk
2个回答
0
投票

我对.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库还是您自己的库?无论哪种方式,我都会检查以确保在搜索到无效用户时,您尝试访问的用户对象确实存在。

希望有所帮助。


0
投票

迟了几年但我试图弄清楚同样的事情,发现谷歌没有任何关于他们的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);
}
© www.soinside.com 2019 - 2024. All rights reserved.