【发布时间】:2019-06-10 20:03:46
【问题描述】:
我的应用使用 Firebase 让用户登录,并且他们可以访问一个日历,该日历是专门作为一个通用日历创建的,用于添加和删除预订。
可以说,该应用为此目的拥有自己的 gmail 地址。该应用程序通过 google API(gapi 客户端)访问。
为了让用户能够与日历进行交互,我发现我只能使用日历/应用程序的服务帐户。
到目前为止,我设法:
- 为服务帐号创建服务密钥,
- 与服务帐户“虚拟”用户共享日历,
- 使用该服务密钥(证书)创建 JWT 令牌(使用 jsrsasign 库),
- 发出 POST 请求以获取 gapi 的访问令牌,
- 初始化 gapi 身份验证和客户端,并通过 gapi 访问日历
现在,当我要检索 google 日历事件时,我确实得到了成功的响应,但事件数组是空的,即使共享日历中有可用的测试事件。
响应如下所示:
{
"kind": "calendar#events",
"etag": "\"pqef3g4h5j6j0g\"",
"summary": "my_app_email@appspot.gserviceaccount.com",
"updated": "2019-01-15T21:14:05.029Z",
"timeZone": "UTC",
"accessRole": "owner",
"defaultReminders": [],
"items": []
}
Stackoverflow 上有一些关于此的主题,但没有一个提供有用的信息,或者它们适用于 Pythin / PHP。
我希望有人可以为 Javascript 提供建议...
【问题讨论】:
标签: javascript calendar service-accounts google-api-js-client