将单个 Google 日历事件导出到 ICS?

2023-12-25

我目前正在研究在网页上显示多个 Google 日历的事件列表的可能性。目前,我正在使用适用于 WordPress 的 Google 日历活动插件来显示网站上的活动(开发网站位于防火墙后面,因此我无法共享链接);但我想看看是否有任何简单的方法可以为每个单独的事件动态生成 ICS 文件。

我们希望允许网站访问者将单个事件添加到他们的日历中,但 Google 日历数据 API 似乎只提供以 ICS 格式下载整个日历的选项。我尝试简单地将带有 eid(事件 ID)的查询字符串附加到 ICAL 提要地址的末尾,但这仍然会打开标准的 Google ICAL 提要,其中包括日历中当前包含的所有事件。

我对从头开始动态构建 ICS 文件有些熟悉,并且过去曾经做过一次,从本地 Perl 日历程序中提取事件并为每个事件生成 ICS 文件;但如果已经设置了任何预构建的 API 或 PHP 类来从各个 Google 日历事件构建 ICS 文件,我更愿意使用它们。


它是如此简单,实际上只是一个页面,试试这个:(当然,你需要替换你自己的变量......)

<?php
    /*
    * generates calendar ics file
    */ 

if( 
    empty($_GET['summary']) || 
    empty($_GET['dtstart']) || 
    empty($_GET['dtend']) 
){
header ("Location: /diary/this-week") ;
exit();
} 

  header("Content-type: text/calendar");
  header("Content-Disposition: attachment; filename=".urlencode($_GET['summary']).'-'.time().".ics");
  header("Pragma: no-cache");
  header("Expires: 0");
  echo 'BEGIN:VCALENDAR
VERSION:2.0
PRODID:councilsites
METHOD:PUBLISH
BEGIN:VEVENT
URL:'. htmlentities( $_GET['url'] ) .'
UID:'. htmlentities( $_GET['url'] ) .'
SUMMARY:'. htmlentities( $_GET['summary'] ) .'
DTSTAMP:'. date('Ymd\THis\Z') .'
DTSTART:'. htmlentities( $_GET['dtstart'] ) .'
DTEND:'. htmlentities( $_GET['dtend'] ) .'
LOCATION:'. htmlentities( $_GET['location'] ) .' 
END:VEVENT
END:VCALENDAR';


?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将单个 Google 日历事件导出到 ICS? 的相关文章

  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • 将 OAuth WRAP 访问令牌直接保存在客户端计算机上的 cookie 中吗?

    我计划建立一个可以访问 oauth 包装框架的网站 我正在考虑将访问令牌按原样存储在客户端计算机上 我不想在服务器上维护临时令牌等数据库 我应该做吗 或者我应该加密它 首先 为什么他们不使用 OAuth 2 0 您可以将 OAuth 凭据存
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • file_get_contents 大文件上传

    我正在尝试使用 fsockopen 上传 2GB 以上的大文件 但 file get content 出现以下错误 我无法在内存中存储大文件 我需要分块发送数据 但不知道如何执行此操作 请问有人可以指导我吗 致命错误 允许的内存大小 134
  • 无法在jspdf中加载多个图像

    我正在尝试加载动态生成的多个图像 我想将这些图像转换为 PDF 格式 HTML 代码如下
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • 如何在CentOS 5.3上安装php-mongodb?

    我已经在我的 VPS 上安装了 mongoDB 效果很好 现在我想安装 php 驱动程序以使 php 与 mongoDB 一起工作 我跟着蒙戈安装 http www php net manual en mongo installation
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • PHP 脚本不断执行 mmap/munmap

    我的 PHP 脚本包含一个循环 它只不过是回显和取消引用指针 如 tab othertab i gt 中的内容 直到昨天 这个脚本开始变得非常慢 比以前慢了 50 倍 之前 它一直运行良好 使用 strace 后 我发现 90 的情况下 脚
  • 当我使用 session_start() 时,Xampp 7.0.1 Apache 崩溃

    当我在 PHP 中使用 session start 启动会话时 我的 Apache 服务器停止工作 我正在使用 Windows 版 Xampp 7 0 1 我的配置文件如下所示 即使我把它放在文件的第一行 它也不起作用 有人知道如何解决这个
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • 使用 ImageMagick (PHP) 将 2 个图像并排合并为 1 个图像

    我认为这是一件容易的事 我有 2 张图片 JPG 我希望它们合并成一张图片 其中 2 张图片并排 所以我有图片 A 和图片 B 我想要图片 AB 并排 两个图像具有相同的宽度和高度 在本例中 宽度 200px 高度 300px 但是第二个图
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv

随机推荐

  • Future.get() 总是被 InterruptedException 中断

    我在 Java 中的 Future get 遇到了一个奇怪的问题 它总是返回一个 InterruptedException 但奇怪的是异常的原因是 null 所以我不知道是谁打断了我 情况变得更糟 因为我在调用 get 之前进行检查 而 F
  • 如何从 Spring MVC 控制器返回对象以响应 AJAX 请求?

    我必须从控制器返回员工列表以响应 jQuery AJAX 请求 我该怎么办呢 我的控制器 RequestMapping phcheck public ModelAndView pay RequestParam empid int empid
  • Linq:在进行投影时设置属性

    我正在做一个简单的 GroupBy 获取第一个元素 但我想修改每个结果的一个属性 class M public string Name get set public int NOfPeopleWithTheSameName get set
  • React 中的 JQuery 移动组件

    React 中的 JQuery 移动组件 我对这个概念还很陌生 仍然需要弄清楚 我构建了一个用于移动目的的应用程序 并决定将其包装在 React 组件中 我的代码 索引 html
  • 加密部署 .NET 的配置文件

    我有一个从 app config 读取的 Windows 服务 我希望对某些设置进行加密 但是 我不想使用 NET 中提供的 ProtectedConfigurationProvider 类 因为它们使用 DPAPI 根据运行的计算机来加密
  • Cython 中 numpy 数组掩码的性能

    作为这个问题的后续here https stackoverflow com questions 45882166 performance of updating multiple key value pairs in a dict 感谢 M
  • Git 更改基础分支

    我有一个名为 develop 的分支 并基于该分支我创建了另一个分支 TestFeature 然后我基于 TestFeature 制作了其他分支 NewFeature 并进行了一些更改并提交 问题是我不希望文本功能中的更改出现在我的新功能分
  • 当双方都被删除时,为什么 git 给我一个“删除合并冲突”?

    我正在合并更新版本master进入我的分支 在 master 中 一个文件已被删除 我也删除了 Git 给了我以下内容 Deleted merge conflict for Lib SharedBL WebServices WebAPI A
  • 如何加载 .mat 文件并将其转换为 numpy 二维数组?

    我在 mat 文件中有一个数据 观察结果和特征 我想将其加载到 numpy 2D 数组中 我不想先将其转换为 csv 然后将 csv 加载到 numpy 中 Use scipy 的 loadmat API 文档 https docs sci
  • Javascript 中哪个更有效:while 或 for 语句?

    我最近有机会在 javascript 中进行循环 但我很困惑是否使用 for 循环或 while 语句 var i foo length while i or for var i 0 i lt foo length i 我想从 javasc
  • Struts2 正则表达式配置

    我正在创建一个 Struts2 Web 应用程序 我想要一个像这样的网址www xyz com portal orgCode signin 这个组织代码是动态的 所以我使用正则表达式 我将 struts xml 配置为
  • 仅将唯一值添加到 python 中的列表中

    我正在努力学习Python 以下是练习的相关部分 对于每个单词 检查该单词是否已在列表中 如果 该单词不在列表中 请将其添加到列表中 这是我所拥有的 fhand open romeo txt output for line in fhand
  • 合并的资源字典可以访问 App.xaml 中的资源吗?

    Can 合并资源字典 https msdn microsoft com en us windows uwp controls and patterns resourcedictionary and xaml resource referen
  • 通过 PHP 实现浏览器之间的通信

    我正在为一个学校项目构建一个简单的ajax聊天客户端 并想到了一种实现它的方法 但在我看来very繁琐的做法 1 用户A发送消息 该消息被服务器端PHP脚本接受并保存到数据库 2 用户B的浏览器定期启动服务器端PHP脚本来检查数据库中是否有
  • 当数据类属性更改时,使 React 组件重新渲染

    在我的 Typescript 应用程序中 有一个代表一些数据的类 这个类是端到端共享的 前端和后端都使用它来构造数据 它有一个名为items这是一个数字数组 class Data constructor this items 0 addIt
  • Kafka Spring Cloud Stream 的多个 @EnableBinding

    我正在尝试设置一个侦听 Kafka 的 Spring Boot 应用程序 我正在使用 Kafka Streams Binder 用一个简单的 EnableBinding EnableBinding StreamExample StreamP
  • 尝试加载使用 browserify-shim 填充的模块时,karma-browserify 会抛出错误

    我知道有类似的问题 但没有一个解决我的问题 当我跑步时karma test每次尝试加载使用 browserify shim 填充的模块时 它都会抛出以下错误 TypeError undefined is not an object eval
  • 如何隐藏迷你分析器?

    我正在使用 MVC Mini 分析器来检查应用程序特定部分的速度 并希望将其保留在那里 以防以后发生某些情况并且我可能需要检查 出了什么问题 它不是完整的日志集 但它对于了解导致页面花费很长时间的原因非常方便 因此 我的目标是隐藏它并仅在请
  • 当数量选择更改时,WooCommerce 显示总价

    我需要在数量发生变化时在产品页面中显示总价 如果您在购物车中添加产品数量 则这与购物车中的行价格相同 我对 WooCommerce 还很陌生 所以我不知道从哪里开始 但如果有人能帮助我走向正确的方向 我想我可以自己应对 所以这是我应该如何做
  • 将单个 Google 日历事件导出到 ICS?

    我目前正在研究在网页上显示多个 Google 日历的事件列表的可能性 目前 我正在使用适用于 WordPress 的 Google 日历活动插件来显示网站上的活动 开发网站位于防火墙后面 因此我无法共享链接 但我想看看是否有任何简单的方法可