【问题标题】:Allow any user to view my freebusy on google calendar允许任何用户在谷歌日历上查看我的空闲时间
【发布时间】:2015-12-29 20:16:30
【问题描述】:

我想要做的就是让我的网站能够从我的个人谷歌日历中获取空闲/忙碌状态,该日历是公开共享的。然后它将能够在网站上显示该信息,而无需用户登录或进行任何其他操作。

我找到了这个help article,但我很难理解它。

【问题讨论】:

    标签: php google-calendar-api


    【解决方案1】:

    有两种方法可以做到这一点(但我认为第一种是你需要的)

    1) 使用 Google 日历 API,您需要使用“freeBusy”API,操作 JSON 响应并将其显示在您的屏幕上。此 api 不需要用户身份验证。您只需提供 id、timeMin 和 timeMax 即可获取公开共享的日历。

    示例请求:

    POST https://www.googleapis.com/calendar/v3/freeBusy?key={YOUR_API_KEY}
    {
     "items": [
      {
       "id": "<YOUR-ID>"
      }
     ],
     "timeMin": "2015-12-24T00:00:00+10:00",
     "timeMax": "2015-12-31T00:00:00+10:00"
    }
    

    示例响应:

    {
     "kind": "calendar#freeBusy",
     "timeMin": "2015-12-23T14:00:00.000Z",
     "timeMax": "2015-12-30T14:00:00.000Z",
     "calendars": {
      "<YOUR-ID>": {
       "busy": [
        {
         "start": "2015-12-28T18:00:00Z",
         "end": "2015-12-28T18:25:00Z"
        },
        {
         "start": "2015-12-30T09:00:00Z",
         "end": "2015-12-30T10:00:00Z"
        }
       ]
      }
     }
    }
    

    2) 如果您只想显示您的日历,您可以使用日历设置中提供的 iframe 代码直接嵌入您的日历。这是Detailed step by step instruction的链接

    【讨论】:

    • 好的,API 密钥和 ID 是我从 google 获得的,对吧?这与 OAuth 2.0 有关吗? this link 是我应该读的吗?
    • API 密钥是您在开发人员控制台中为您的应用程序创建的密钥(您可以使用该链接创建它)。 ID 是您的日历 ID,通常是您的电子邮件,但您可以在日历设置中进行验证。你可以点击这个链接——wpdocs.philderksen.com/google-calendar-events/getting-started/…
    • 仅当您要使用需要用户身份验证的 API 时才需要 OAuth。通常用于获取用户的隐私数据。
    猜你喜欢
    • 2021-08-12
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多