【问题标题】:Google Hangout Links from Calendar [closed]日历中的 Google 环聊链接 [关闭]
【发布时间】:2013-08-14 16:33:01
【问题描述】:

我已同步 iCal 和 Google 日历,以便查看我的约会。但是,除非我去谷歌日历,否则我永远无法看到谷歌环聊链接。

是否有任何原生 OSX 应用支持 Google Hangout 链接字段?

【问题讨论】:

    标签: macos google-plus hangout


    【解决方案1】:

    感谢 nempnett 的小脚本,我终于设法将它全部自动化到现在在 GitHub 上的一个工具中。我在这里写过:http://yeraze.com/a-better-way-to-fix-osx-calendar-google-hangouts

    您必须使用一些终端魔术,然后它会自动将您的 Google Hangout 链接同步到日历 URL 字段中。

    【讨论】:

    • 不适用于优胜美地。
    【解决方案2】:

    这让我很恼火多年。我有以下两种解决方案。一个可以让您轻松地从 iCal 事件发起环聊,另一个使用环聊详细信息更新 iCal 事件。

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

      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"
      
    5. 保存应用程序并添加到您的 Dock 中

    现在您只需将事件拖到停靠项上,它就会解析 .ics 文件并在您的默认浏览器中启动环聊。

    更新:扩展上述内容以更新日历条目,以在活动中添加环聊作为 URL:

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

      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"
      
    5. 添加“运行 Apple 脚本”类型的步骤
    6. 将以下内容复制到将“myCalendar”替换为您的日历名称的框中:

      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 
      
    7. 保存应用程序并添加到您的 Dock 中

    现在,当您将活动拖到停靠图标上时,它会通过向活动添加环聊 URL 来更新活动。

    如果有人想对每天早上运行的整个日历进行预定的批处理更新,那么以上述为开始会很好......

    【讨论】:

    • 我刚刚让这个工作..我确实必须更改 Shell 脚本块以接受输入“作为参数”,它默认为“作为标准输入”。
    • 谢谢@Yeraze - 我在我的自动机中设置了它,但在上面的说明中错过了它 - 我现在已经更新了这个。
    • 曾经有过批量处理的运气吗?我尝试使用新的 automator 功能进行“批处理”,但它似乎不起作用。很容易创建一个自动化任务来抓取今天的所有事件,然后为每个事件启动另一个工作流。只是无法弄清楚如何让它以您期望的方式传递数据(终端 awk 的东西)。
    • 问题是日历应用程序无法自动获取单个事件的 ical 文件,这是您需要能够运行文件解析以提取环聊数据的方法。我能看到的唯一批处理方式是将整个日历导出为 ics。解析整个事情并写回相关事件(可能必须重新导入我期望的更新的 ics 文件)。这似乎总是有点矫枉过正(而且很可能会搞砸整个日历!)所以我没有追求它。我已经养成了在接受之前将新事件拖到上述工具上的习惯。
    • 我成功地编写了一个 Python + applescript 工具,该工具可以在未来(我用了 2 周)通过 Hangout 链接的 URL 批量更新所有内容,并且效果很好。不幸的是,OSX 会立即将更改恢复到远程副本,在几秒钟内撤消更改。您将日历事件拖出进行处理的方式会导致创建本地 ICS 文件,从而断开它们与其远程副本的连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2012-05-16
    • 2021-09-25
    • 2014-03-31
    • 2016-06-04
    • 1970-01-01
    相关资源
    最近更新 更多