Macos 谷歌挂出日历链接

Macos 谷歌挂出日历链接,macos,google-plus,hangout,Macos,Google Plus,Hangout,我已经将iCal和Google日历同步,以便查看我的约会。然而,除非我去谷歌日历,否则我永远看不到谷歌社交网站的链接 有没有本地OSX应用程序支持Google Hangout链接的字段?这让我很恼火。下面我有两个解决方案。一个允许您轻松启动iCal活动中的挂起,另一个使用挂起详细信息更新iCal活动 创建应用程序类型的自动机 添加“GetSpecified Finder”项步骤 添加“运行Shell脚本”步骤(将Shell脚本块更改为接受输入“作为参数”) 将以下内容复制到文本框中: read

我已经将iCal和Google日历同步,以便查看我的约会。然而,除非我去谷歌日历,否则我永远看不到谷歌社交网站的链接


有没有本地OSX应用程序支持Google Hangout链接的字段?

这让我很恼火。下面我有两个解决方案。一个允许您轻松启动iCal活动中的挂起,另一个使用挂起详细信息更新iCal活动

  • 创建应用程序类型的自动机
  • 添加“GetSpecified Finder”项步骤
  • 添加“运行Shell脚本”步骤(将Shell脚本块更改为接受输入“作为参数”)
  • 将以下内容复制到文本框中:

    read url <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/X-GOOGLE-HANGOUT/ {first = $2":"$3; getline rest; print (first)(substr(rest,2)); exit 1}';)
    open "$url"
    
    read url <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/X-GOOGLE-HANGOUT/ {first = $2":"$3; getline rest; print (first)(substr(rest,2)); exit 1}';)
    read uid <<< $(cat "$1" | sed "s/$(printf '\r')\$//" | awk -F':' '/UID/ {print $2; exit 1}';)
    echo "$url"
    echo "$uid"
    
  • 保存应用程序并添加到dock
  • 现在,当您将事件拖到dock图标上时,它将通过向事件添加挂起URL来更新事件


    以上述内容为起点,如果有人想对每天早上运行的整个日历进行计划的批处理更新,那就太好了。比如说……

    多亏了nempnett的小脚本,我终于成功地将其自动化到GitHub上的一个工具中。我在这里写过:


    你需要做一点终端魔术,但它会自动将你的Google Hangout链接同步到日历URL字段中。

    我刚刚完成了这项工作。。我确实必须更改Shell脚本块以接受输入“作为参数”,默认为“作为标准输入”。谢谢@Yeraze-我在自动机中设置了该设置,但在上面的说明中没有设置-我现在已经更新为调用该设置。是否有幸进行批量处理?我尝试使用新的自动机功能来进行“批处理”,但它似乎不起作用。很容易创建一个自动机任务来抓取今天的所有事件,然后为每个事件启动另一个工作流。只是不知道如何让它以您期望的方式传递数据(终端awk的东西)。问题是日历应用程序无法自动获取单个事件的ical文件,而这正是您能够运行文件解析以提取挂起数据所需要的。我能看到的唯一批量方式是将整个日历导出为ics。解析整个事件并写回相关事件(可能需要重新导入更新的ics文件)。这似乎总是有点过火(而且很可能会把整个日历搞砸!),所以我没有去追求它。在我接受之前,我已经养成了将新事件拖到上述工具上的习惯。我成功地编写了一个Python+applescript工具,可以在未来(我用了2周)通过链接到HAngout的URL批量更新所有内容,效果非常好。不幸的是,OSX会立即将更改恢复到远程副本,并在几秒钟内撤消更改。您将日历事件拖出进行处理的方式会导致创建本地ICS文件,从而将其与远程副本断开连接。在Yosemite上不起作用。
    on run {input, parameters}
    set myURL to input's item 1
    set myUID to input's item 2
    set myCal to "myCalendar"
    
    tell application "Calendar"
    tell calendar myCal
        set theEvent to first event whose uid = myUID
        set (url of theEvent) to myURL
    end tell
    end tell
    return input
    end run