预先填充 Google 日历 通过 URL 订阅

问题描述 投票:0回答:2

我想预先填充网址框:

https://calendar.google.com/calendar/u/0/r/settings/addbyurl

与我的日历感觉链接 webcal://domain.co.uk/calendar/export.php?Staff=Mr+Alan+Smith

是否有任何功能可以创建订阅链接,以便用户不必手动复制并粘贴 URL?

calendar google-calendar-api icalendar
2个回答
2
投票

找到答案了

https://www.google.com/calendar/render?cid=webcal://domain.co.uk/calendar/export...

不喜欢空格,所以我还在员工姓名中有空格(%20 或 +)的网址中用 _ 交换了空格,例如

webcal://domain.co.uk/calendar/export.php?Staff=Mr+Alan+Smith
或者
webcal://domain.co.uk/calendar/export.php?Staff=Mr Alan Smith
变成
webcal://domain.co.uk/calendar/export.php?Staff=Mr_Alan_Smith

在我的export.php中创建它获取的ICS文件,然后我做了一个

str_replace()
将值交换回空格。

$staff = $_GET['Staff']; $staff = str_replace("_"," ",$staff);


0
投票

我发现“添加到日历”按钮使用的网址与上面列出的 google.com 网址不同。是https://calendar.google.com/calendar/r?cid=your_webcal_url

我注意到该功能有一些奇怪的地方:如果日历网址是 Google 提供的通过 Google 日历应用程序导入的“感兴趣的日历”之一(例如公共假期),则请求会失败。现在我想起来,由于 COR 政策,无法从我的客户端应用程序获取这些 URL。

© www.soinside.com 2019 - 2024. All rights reserved.