谷歌日历与 Flask 的集成

时间:2020-12-22 18:57:29

标签: python flask google-calendar-api

我刚刚开始使用 Google Calendar API 与 Flask 的集成。我正在使用 Flask 的数据库和登录系统,所以我不确定如何将事件与谷歌日历集成。在我的应用程序中,用户将有一个日期和时间,并且可以确认或拒绝日历约会。如果他们接受任命,我有两个想法:

  1. 我希望它提示他们将其集成到他们的谷歌日历中,他们必须登录等,然后将其带到谷歌日历页面或
  1. 我可能会得到他们的 OAuth 令牌并保存它们。

我也不确定该怎么做。作为参考,这是我的代码:

class User(db.Model, UserMixin):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String, nullable=False)
    last_name = db.Column(db.String, nullable=False)
    username = db.Column(db.String, unique=True, nullable=False)
    email = db.Column(db.String, unique=True, nullable=False)
    password = db.Column(db.String, nullable=False)   

    def __repr__(self):
        return f"User({self.email}, {self.username})"
...   

{% for appointment in requested_appointments %}
    <a class="btn btn-info mb-4" href="{{ url_for('accept', month=appointment.month, day=appointment.day, year=appointment.year, hour=appointment.hour, minute=appointment.minute) }}">All</a>
{% endfor %}

...

def accept(month, day, year, hour, minute):
    event = service.events().insert(calendarId='primary', body=event).execute() #based on events received
    # integrate into google --> takes them google calendar and prompts them 

我不确定解决此问题的最佳方法。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

实际上有一个 API:Google Calendar API 您还可以使用它来访问私人日历。 但是我不知道这个 API 并且从来没有使用过它,所以我真的帮不上忙..

对于您的第二个想法,您还可以使用 Flask-OAuth 扩展。 这部纪录片可以帮助您解决这个问题:enter link description here

[编辑] 事实上,谷歌也有一个资源,其中解释了如何将 Python 绑定到他们的 API。您应该检查链接:enter link description here