微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何使用OAuth与Google日历仅访问一个日历?

我正在为客户构建一个Web应用程序,我不确定我做的是正确的事情……

基本上,我创建了一个PHP应用程序,可以在Google上读取,编辑,删除日历,并在我自己的Web应用程序DB上保留一份副本(出于各种原因).现在,我读到了关于OAuth 2.0并意识到使用它比使用我的客户端常规Google密码(可以访问所有谷歌服务(日历,电子邮件等))直接在我的Web应用程序中使用PHP文件(在其他方面)更安全如果一个黑客进入服务器而不是他可以窃取她的密码……).

因此,我创建了OAuth 2.0帐户,从此页面添加了类/文件夹http://code.google.com/apis/calendar/v3/using.html#setup并在测试页面添加了正确的脚本以“授权访问权限”对你的信息“(参见同一页面中的”实例化客户“)……

以下是我的问题:如果我使用我的登录信息(不是我的客户端)登录我的Gmail,并且我转到我的测试页面,它将要求我授权访问我的Google日历.但我想要我的客户的日历,而不是我的!所以,让我假装我退出,登录我的客户信息并转到测试页面:它是完美的,我授权帐户,然后我被重定向到我的应用程序,在那里我可以看到她的日历.

但这不符合实际或逻辑……例如,我希望她的GENERAL PUBLIC网站上的人们可以访问页面,并填写表格以自动完成约会.该脚本必须检查她的谷歌日历….并获得他们的Gmail帐户的许可?不,我想要她的日历.

所以这是我的问题/疑问.我究竟做错了什么?这是正确的方法还是我错过了一步?这个API是否意味着这样做?

如何使用API​​以上述方式工作?

谢谢大家点燃我的蜡烛

乔尔

如果我正确理解你,你就拥有了正确的身份验证.问题是您不想显示登录用户的日历;您想显示客户的日历.

用户可以在以下两种情况之一中写入日历:

>用户拥有日历,或
>所有者通过指定用户的电子邮件地址明确授予用户写入权限.

显然,第二种情况不会扩大.在任何一种情况下,您都需要在您的应用程序中嵌入客户端的凭据,然后使用它们代表经过身份验证的用户创建约会,或者与用户共享日历.当然,您需要加密客户端的凭据 – 不要简单地在应用程序中对其进行硬编码!

与使用客户的“真实”帐户相比,创建一个专门用于此日历的新帐户(具有唯一的电子邮件地址和密码)似乎更安全.然后,您的客户可以按照客户的意愿通过您的应用程序访问它,或者您可以与她共享日历并给予她写入权限.

另一种可能性是将日历设置为只读用户,而不是允许他们直接在客户的日历上创建约会,您的应用可以让他们请求约会:它会在用户的日历上创建活动并发送邀请到您客户的日历.那么您的应用程序将不需要任何嵌入式凭据.它还可以让您的客户有机会确认或拒绝每个约会,自动将她的回复发送给她的用户.另一个好处是每个用户的约会将出现在他/她自己的个人Google日历上.

我很想知道你(或其他任何人)是否找到了更好的解决方案.

原文地址:https://www.jb51.cc/php/138354.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐