首页 > 解决方案 > 接下来是什么:为 django all-auth 创建成功令牌后;如何同步谷歌日历?

问题描述

好的,我希望我不会因为这个问题而在这里被打败,因为它有点复杂。至少在我看来,就我目前所知道的而言。所以首先是细节:我用 django 构建了一个不错的应用程序,它为用户带来了事件数据,将这些数据用于许多事情(与这个问题无关),但其中一件事是将这些事件同步到用户的谷歌日历。我在开发人员控制台中制作了谷歌应用程序,它使用提供的 credentials.json 文件来允许用户对应用程序进行身份验证,从而为每个用户创建单独的用户 token.json 文件,然后我有另一个脚本(不在 django 中,只是一个自定义 python 文件)从 cron 作业运行以自动将日历信息从数据库同步/更新到谷歌日历。

现在,新问题是在没有我帮助的情况下完成这项工作。IE:一个新用户登录并创建一个配置文件,然后如果他们应该选择同步到他们的谷歌日历,我必须在那里,从我的个人服务器运行身份验证过程。所以我这样做了,将整个应用程序移至托管平台,并使其在生产模式下加速。

用户可以使用 django-allauth 创建一个配置文件,它可以创建一个初始用户帐户,他们可以在其中填写配置文件的其余部分。它确实为他们的帐户填充了令牌字符串,但这是我卡住的地方。

有什么过程可以制作 token.json 文件或使用现有的令牌字符串(它现在保存在服务器版本上的那个)来允许系统同步日历?一旦创建了令牌文件,剩下的就可以工作了。我只是无法正确回答 django-allauth 如何与 Google 握手并做到这一点?

谢谢你的帮助!

标签: djangogoogle-calendar-apigoogle-signindjango-allauth

解决方案


更新:最终使用带有 google api 的服务帐户,并指导我的用户合并服务帐户电子邮件(将其作为共享用户添加到特定日历),然后他们将共享日历 ID 复制/粘贴到我的应用程序的个人资料中. 现在所有的逻辑都只是使用这个共享功能来同步日历,而且效果很好。


推荐阅读