繁体   English   中英

适用于PHP的Google日历API,用于获取日历事件的简单只读请求

[英]Google calendar API for PHP simple read-only request to get calendar events

我想为网站编写一些简单的PHP代码,以使用Google的日历API V3获得对事件的公共Google日历列表的只读访问权限。 我只需要在网页上显示日历中即将发生的事件的列表。 我已经阅读了开发人员文档,并查看了入门部分get events示例代码,但我有些困惑。 我在想:

  • 有没有一种更简单的方式来执行我需要的操作,从而避免了所有这些OAuth问题? 有未经身份验证的访问方法吗?

  • 如果不是,看来我需要在code.google.com/apis/console/上设置我的应用程序的访问权限,然后生成ApplicationName,ClientID,ClientSecret,RedirectURI和DeveloperKey。 ApplicationNameDeveloperKey非常简单,可以在Google控制台中找到。 但是对于其他项目,我需要创建OAuth 2.0 ClientID,这需要我选择“应用程序类型”是Web应用程序还是服务帐户。 我的情况应该是什么? 在这种情况下,不需要用户登录,因为我不要求访问他们的日历-这只是我需要访问的公共日历。

  • 什么是重定向URI以及如何使用它。 我应该如何设置?

  • Google的API示例获取并在会话数据中缓存访问令牌。 然后,代码注释说不要这样做,而应该使用数据库。 认真吗 我真的需要处理缓存访问令牌吗? 如果是这样,Google API中是否有内置的数据库缓存机制,或者您将如何处理?

我真的在寻找一种更简单的方法。 欢迎您的指导!

谢谢。

查尔斯答案的注释中嵌入了一些实现此目的的技巧。 无论如何,从2014年开始(使用Google Calendar v3 API),这就是我所做的:
转到此处查看v3 API的工作方式:
https://developers.google.com/google-apps/calendar/v3/reference/events/list#try-it

至少在以上链接提供的演示Web表单中填写以下三个字段:
calendarIdcalendarId所有者的URL编码的电子邮件地址。
timeMax :结束时间
timeMin :开始时间
(使用此时间格式: 2014-05-04T00:00:00-00:00 (Ymd T毫秒-偏移量))

您会看到以下请求已发送出去。

GET https://www.googleapis.com/calendar/v3/calendars/{CALENDER_ID}/events?timeMax={start_time}&timeMin={end_time}&key={YOUR_API_KEY}

现在,您可以根据需要自定义此请求URL,并从代码中发送常规的GET请求。

PS-要获取您的API密钥,请按以下步骤操作:
https://developers.google.com/google-apps/calendar/auth

我认为您太想这个了。 如果您只需要访问公共日历上的事件,那么有一种方法可以执行此操作而无需调用Google Calendar API和所有附带的复杂性。 每个公共 Google日历都有一个iCal提要,可以通过特定的URL对其进行查看,通常采用以下形式:

http://www.google.com/calendar/ical/{OWNER}/public/basic.ics

其中{OWNER}是日历所有者的URL编码的电子邮件地址。

通过查看日历设置并滚动到“日历详细信息”选项卡的底部,可以找到特定的URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM