Keynote Tweet

2012年2月5日のCE研究会で、大阪電気通信大学の中野先生が「ぴぴつい」というツールを使われていました。PowerPoint (on Windows) を使って発表すると、ページ進行に応じてあらかじめ仕込んでおいた文言が Twitter に投稿されるというもので、大方の予想通り発表そっちのけで(←嘘です)「ぴぴつい」は多くの注目を集めました。

その後、九大の井上先生から「Keynoteでもできるようだ」との投稿がありました。Google Code で公開されている "Keynote Tweet" です。

ところが、実際にやってみるとうまくうごきません。メンテが2009年で終わっていて、Twitterの古い認証方法にしか対応していないからみたいです。何とかならないか、いろいろ試してみて一応うまくできた方法を紹介します。

アウトラインは以下の通り。

  1. コマンドラインから twitter へ投稿できるツール TTYtter をインストールし、使えるようにする
  2. Keynote Tweet のスクリプトを修正する
  3. Keynote から Tweet してみる

BUGS

  • 素早くスライド送りをすると、そのページに仕込まれた文言はツイートされません。 (2012-02-07 09:34:26)
  • 表示済みスライドを再度表示すると、ttytterがエラー吐きます。スライドショーは何事もなく進みますが、Keynote Tweet.app では下記のエラーが表示されており、処理が止まります。(2012-02-07 09:34:26) 修正しました (2012-02-08 21:39:39)
    • NeXTSTEP2OSXさんより twitterサーバ側の多重投稿制限のためではないかという情報あり。(2012-02-07 09:45:57)
    • 多重投稿ができないので、ttytter がエラーを返すのは回避できません。AppleScript 側で、エラーが出た場合にエラーダイアログを出す代わりに syslog に送るようにしゅうせいしました。(2012-02-08 21:39:39)

TTYtter の用意

Keynote Tweet は、中で curl というコマンド(これはtwitter用のコマンドというわけではありません)を呼び出して投稿しています。この部分を新しい認証方式 OAuth に対応したコマンドに置き換えるのが早いと考えました。

TTYtter は perl で書かれた Twitter クライアントで、ターミナル上で動作します。対話的にも使えますし、単発のコマンドで Twitter へ投稿することもできます。

TTYtter をダウンロードし、コマンドとして使えるようにします。/アプリケーション/ユーティリティ/ターミナル.app を開き、以下のコマンドを実行してください。

curl -o ttytter http://www.floodgap.com/software/ttytter/dist1/1.2.05.txt
chmod +x ttytter
sudo mv ttytter /usr/bin

最初のコマンドは、ファイルをダウンロードし、ttytter という名前で保存するものです。二番目は、コマンドとして実行できるようにするもの。三番目は、この Mac を使う人が誰でも利用できる場所へファイルを移動するものです。

三番目の sudo ... を実行したとき、パスワードを聞かれます。今使っているユーザのパスワードを入れてください。

これで、ttytter がコマンドとして使えるようになりました。動かしてみます。以下のようにコマンドを入れてください。

ttytter

実際にやってみると、ここまでで、以下のような感じの画面になるはずです。赤い下線をつけたところが、入力したところです。

http://sumi.riise.hiroshima-u.ac.jp/skitch/keynote_tweet-20120206-234243.png

エンターキーを押して次に進みます。Twitter 認証をしてくれといってきます。書かれている通りに、https://api... の部分をコピーしてWebブラウザで開き、使用したい Twitter アカウントで許可を出してください。画面に PIN (何桁かの数字)が表示されるので、それをコピーして、再びターミナル.appの画面に戻って

ENTER PIN> 

のところに貼付けてエンターキーを押します。

これで TTYtter が使えるようになったはずです。

ttytter -status="Hello World!"

というコマンドで、投稿ができると思います。

Keynote Tweet の用意

オリジナルのスクリプトを、ttytter を使って投稿するように書き換えます。ここ(↓)に書き換え済みスクリプトを準備しましたので、ダウンロードしてお使いください。

自分でオリジナルを書き換えてみたい方はこちらを参照してください。

Keynote から tweet してみる

編集した、Keynote Tweet.app をダブルクリックして立ち上げましょう。メッセージにある通り、Keynote の発表者用ノートで[twitter]...[/twitter] と記された文字列が、スライドショーの進行に合わせて投稿されます。

http://sumi.riise.hiroshima-u.ac.jp/skitch/keynote_tweet-20120207-002535.png

本当は AppleScript で OAuth できればスマートなんだろうけど、これで良しと。


添付ファイル: filekeynotetweet_ttytter.zip 401件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-02-08 (水) 21:39:39 (2084d)