谷歌日历:freeBusy 给错误"notFound"一个帐户,而不是另一个帐户



首先,我使用谷歌应用程序的商业帐户,我有两个帐户test1@mycompany.com和test2@mycompany.com

之后,我有一个Api E-Mail,它在Api控制台中注册到test1@mycompany.com,我将其表示为#####@developer.gserviceaccount.com

查询很简单,我只是有一个timeMin &timeMax,使用Java客户端API

发送此消息

第一个查询与GoogleAuthorizationCodeFlow和使用test1@mycompany.com

{
 "kind": "calendar#freeBusy",
 "timeMin": "2013-03-26T22:50:16.501Z",
 "timeMax": "2013-03-26T22:50:22.501Z",
 "calendars": {
  "test1@mycompany.com": {
   "busy": []
  },
  "test2@mycompany.com": {
   "busy": []
  }
 }
}

这是我得到的第二个授权方法使用(获取错误"notFound")

GoogleCredential.Builder()
.setServiceAccountId("#####@developer.gserviceaccount.com")
.setServiceAccountPrivateKeyFromP12File("key.p12").etc().etc()
{
 "kind": "calendar#freeBusy",
 "timeMin": "2013-03-26T22:19:14.770Z",
 "timeMax": "2013-03-26T22:19:20.770Z",
 "calendars": {
  "test1@mycompany.com": {
   "busy": []
  },
  "test2@mycompany.com": {
   "errors": [
    {
     "domain": "global",
     "reason": "notFound"
    }
   ],
   "busy": []
  }
 }
}

即使test1@mycompany.com可以获得访问test2@mycompany.com #####@developer.gserviceaccount.com不能,为什么这是他们都是真正的相同的帐户是他们不是吗?#####@developer.gserviceaccount.com属于test1@mycompany.com。Test2@mycompany.com被设置为共享日历(如第一个查询中所示),我不知道为什么开发人员帐户不能访问该业务。

我期望得到与您类似的结果,但在使用service_account凭据时,我也得到了notFound错误。对我来说有效的解决方案是进入日历共享页面,并显式地与#####@developer.gserviceaccount.com电子邮件地址共享我的日历。

我很抱歉没有更多的细节,但这个问题最终是如何解决的,是通过让Apps for Business帐户的所有者添加开发者的电子邮件地址(#####@developer.gserviceaccount.com)作为委托,现在我可以得到商业帐户上任何人的空闲时间。另一种方法是在日历本身上添加#####@developer.gserviceaccount.com作为用户。(虽然我必须为每个用户做这个)

相关内容

  • 没有找到相关文章

最新更新