我知道 Google Provisioning API 将于明天(iirc)被弃用,但这个消息来得有点晚(顺便说一句,不是 Google 的错),我们目前没有时间彻底检查我们的电子邮件帐户管理软件.
从几周前到最近(今天)每当我使用有效参数运行以下命令时,我都会收到一个 .Net 异常(出于隐私原因,尖括号中的文本会替换实际值):
googleService = new AppsService("<domain>", "<userName>", "<password>");
gRes = service.Groups.RetrieveGroup("<groupid>")
其中 googleService 和 gRes 分别属于 AppsService 和 GroupEntry 类型。
外部异常消息:
Execution of request failed: https://apps-apis.google.com/a/feeds/group/2.0/<domain>/<groupid>
内部异常消息:
The remote server returned an error: (400) Bad Request.
这现在部分工作,因为如果该组存在,我将不再获得异常,而是根据文档获得一个 GroupEntry 对象,该对象看起来像有效的属性值。但是,如果该组不存在,我仍然会遇到上述异常。
我不想依赖意味着该组不存在的异常,以防现有组再次发生异常。因为这会导致我们的系统认为 Google 电子邮件组已经创建,但实际上并没有。
这是谷歌正在做的事情,这就是我看到结果变化的原因吗?或者我做错了什么?
也许在不存在的组 ID 上运行 RetrieveGroup 应该返回 .Net 异常?但我原以为这会导致 Google 的“AppsException”错误代码为“EntityDoesNotExist(1301) - 该请求要求 Google 检索一个不存在的实体”。根据https://developers.google.com/google-apps/provisioning/reference#GDATA_error_codes
尽管已知此 API 中的其他一些函数会在类似情况下引发 .Net 通用异常,而不是更合适的 Google 'AppsException' 异常。例如,删除不存在的用户-> 组成员资格会导致 .Net 异常,而不是我期望的 EntityDoesNotExist(1301) Google AppsException。
任何有关此的信息/确认将不胜感激。