我可以通过Google日历API访问其他人的日历吗?

时间:2017-04-17 13:37:05

标签: php oauth google-calendar-api

我目前正在开展一个项目,我将不同的用户存储在数据库中,并希望借助谷歌日历API在用户议程中展示。 我可以访问我的所有议程,因为我的个人帐户有oAuth,但我甚至无法从其他帐户请求主日历摘要。它给出了以下错误:

INSERT INTO [SShare](FId,UDetails,ShareBy,ShareByUserId,BData,FileType,ImageName)
    SELECT @FId, @UDetails, @ShareBy, @ShareByUserId, BData, @FileType, @ImageName
    FROM Employee
    WHERE FId = @FId;

我想我的个人oAuth不会给我任何其他帐户的访问权限,除了我自己的。 如果我有他们的电子邮件帐户(也是他们主要日历的ID),或者他们都需要自己的oAuth身份验证,是否有办法让其他用户访问他们的日程?

我为oAuth读了一些关于serviceaccounts的内容,这会是一种方式,还是一种我不知道的更容易的方式?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

由于显而易见的原因,除非您的应用要求他同意,否则您无法访问特定用户的Google帐户数据。

“用户同意”是一次性操作,一旦发出,Google会使用访问令牌刷新令牌回复您的回调网址。

由于访问令牌的生命周期很短(= 1小时),因此您需要保存刷新令牌(无限生命周期)并为每个用户存储它。使用此刷新令牌访问API并检索用户的数据。

https://developers.google.com/identity/protocols/OAuth2