【问题标题】:How do I create a new tweet with Applescript and the official Twitter app?如何使用 Applescript 和官方 Twitter 应用创建新推文?
【发布时间】:2013-11-11 14:11:34
【问题描述】:

在对 Mac 上的 Twitter 应用程序的零 Applescript 支持感到沮丧多年后,我很惊讶地看到官方 Twitter 应用程序有一个 AS 字典!这是个好消息……我们现在可以做类似的事情了

告诉应用程序“Twitter” 告诉第 1 项当前帐户主页时间线的状态 将 t 设置为其文本 结束告诉 结束告诉

获取最上面的推文等的内容,并利用这些信息做有用的事情。

但是,没有支持或文档,所以我看不到如何做其他事情。主要是想

a) 创建一个新的推文窗口并用文本填充它 b) 发送上述推文

如果比我聪明的人提供任何帮助,我们将不胜感激。

【问题讨论】:

  • 我最终得到了类似的东西,它使用 Javascript 来单击 Safari 中的按钮来模拟成为 Web 浏览器中的用户。不太优雅,但效果很好。

标签: twitter applescript


【解决方案1】:

通过这样的方式,您可以创建一个新的 twitter 窗口:

display dialog "Tweet?" default answer "" buttons {"OK"} default button 1
set mytweet to text returned of result

tell application "System Events"
    tell process "Notification Center"
        click menu bar item 1 of menu bar 1
        click button 1 of UI element 1 of row 2 of table 1 of scroll area 1 of window "window"
        keystroke mytweet
        keystroke "D" using {command down, shift down}
        keystroke space
    end tell
end tell

【讨论】:

  • 啊,酷,可以那样做。您是否有理由使用通知中心来执行此操作?它给出了错误。或者这只是一个类似的例子?
  • 这只是调用 OS X 内置的 tweeter composer 的一个例子。你可以调用 twitter 应用而不是 Notification Center。
  • 我打算粘贴我最终得到的代码,但对于评论框来说“太长”了。有没有办法像您在上面所做的那样在窗口中发布代码,您可以告诉我吗?
【解决方案2】:

[更新:实际上,我更喜欢这个:http://360percents.com/posts/command-line-twitter-status-update-for-linux-and-mac/——一个简单的 bash 脚本,如果你真的知道自己在做什么,它也可以与 AppleScript 一起使用。下面的方法也可以。]


另一种方法(如果您所追求的只是自动化推文过程)是下载 twitchi,这是一个用于 twitter 的命令行工具,并使用 do shell script 编写 AppleScript .你仍然可以打开你的 twitter 客户端。

诚然,我还没有尝试过,但我有点想尝试。如果您对它的工作原理感兴趣,我将对其进行测试。这是描述用法的输出:

usage: twitchi
 -af,--addFriend         Add friend.
 -au,--auth              Authenticate twitchi to post to your Twitter
                         account.
 -bu,--blockUser         Block user.
 -dm,--directMsg         Send direct message.
 -h,--help               Show usage information
 -m,--msg <arg>          Message/Status text/Search query. To be used in
                         conjunction with other options.
 -p,--page <arg>         Page number. To be used in conjunction with other
                         options.
 -ph,--proxyHost <arg>   Proxy host. To be used in conjunction with -sp.
 -pp,--proxyPort <arg>   Proxy port. To be used in conjunction with -sp.
 -rf,--removeFriend      Remove friend.
 -rp,--removeProxy       Remove proxy.
 -s,--search             Search.
 -sd,--showDM            Show direct messages.
 -sf,--showFolls         Show followers.
 -sp,--setProxy          Set proxy.
 -sr,--showFrnds         Show friends.
 -st,--showTimeline      Show timeline.
 -u,--user <arg>         Username. To be used in conjunction with other
                         options.
 -ui,--userInfo          Show user info.
 -us,--updateStatus      Update status.
 -ut,--userTimeline      Show user timeline.
 -uu,--unblockUser       Unblock user.

【讨论】:

    【解决方案3】:

    如果您不喜欢使用官方应用程序,我已经创建了一个faceless background app,它为 Twitter API 提供 AppleScript 支持。它需要 10.8+,因为它使用通过操作系统提供的原生 Twitter 支持,但这确实意味着在身份验证方面您不需要自己做任何繁重的工作。

    发布推文真的再简单不过了。首先确定操作系统可以使用哪些帐户,然后发布一些内容。比如:

    tell application "Twitter Scripter"
    
        -- returns a list of the available accounts
        available accounts
    
        -- "mousedownsoft" is one of my available accounts
        tweet "Hello!" using account "mousedownsoft"
    
    end tell
    

    【讨论】:

      猜你喜欢
      • 2011-05-18
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2023-04-04
      • 2012-05-12
      • 2012-10-27
      相关资源
      最近更新 更多