Google ドキュメントとGoogle Apps ScriptでTwitterクライアントを作りました
Androidで、つぶのみというTwitterクライアントアプリを作って常用していますが、デスクトップ用というかPC用も欲しくなってきたので、GoogleドキュメントのスプレッドシートとGoogle Apps Scriptの組み合わせで作ってみました。
とりあえず名前は、つぶのみ Google Apps Script版としました。
今のところできる事は、メンションの取得*1と、ツイートの送信、及び、replyだけです。
7/14追記:ユーザータイムラインの表示も出来るようにしました。
7/15追記:検索タイムラインの表示も出来るようになりました。
7/17追記:DMのタイムライン表示、DM送信、Favorite登録、公式リツイート、フォローも出来るようになりました。
スクリーンショット
スプレッドシートを開いて少し待つとメニューが追加され、最新のメンションが表示されます
以後、30分毎にタイムラインが更新されます
なお、columnはid,screen_name,text,created_atの順番です
追加されたメニューを選ぶと、tweetとreloadという選択肢が表示されます
reloadは、メンションの手動更新です
メニューからtweetを選ぶと・・
ツイートするためのダイアログが表示されます
スプレッドシートらしく、範囲選択した状態で・・・
PCデスクトップ版が欲しくなった理由は、Androidから長い文章をツイートするときに面倒くさいと思ったからです。
そういう場合は、やっぱりMacからツイートしたいなと。
せっかく(?)、PCデスクトップ版を作るので、何で作るか検討してみたのですが、今回はGoogle ドキュメントのスプレッドシートでの、Google Apps Scriptを選んでみました。
ちなみに誤解されることが多いようですけど、Google Apps ScriptはGoogle Appsでなくても普通に使えます。
他に候補としては、Objective-C、AIR(Flex)、AIR(JavaScript)、Rails(ローカル),Sinatra(ローカル)、JavaScript(ローカル)、Google Apps Script(Webアプリケーション)等を考えていました。
選定理由
- クロスプラットフォーム
- サーバ用意したり、立ち上げたり、サービスをスタートさせたり、環境、運用が面倒でない
当初は、SOICHA AIR版でのノウハウもあるので、AIRアプリでやるのが楽かなと考えていたのですが、せっかくなら、やったことがないものでやりたいなあというのが一番の理由でしょうか。あとお手軽さ。
使う場合の手順
7/14追記:mentionsという名前のシートがなかったら自動的に作成するようになったので、シート名の変更は不要です
適当なスプレッドシートを作成しますしたら、シート名をmentionsに変更します
スクリプトエディタ開いて・・
gistから、スクリプトエディタで最初に開いているファイルに上書きして貼り付けます
最初からあるmyFunctionとか消しちゃっていいです
cunsumerKeyとconsumerSecretを設定するためにプロジェクトのプロパティを開きます
Project propertiesのタブにtwitterConsumerKeyとtwitterConsumerSecretを追加して設定します
事前にtwitterからの取得を忘れずに
トリガーを追加します
リソースメニューから現在のスクリプトのトリガーを選択
getMentions,DirectMessagesTimeline,getVerifyCredentials,getHelpConfigurationをOn Openと30分のタイマーに*3
定期更新が必要ない場合はタイマーのトリガーに登録する必要はありません
全部保存して閉じて、もう一度スプレッドシートを開くと、許可や認証など出てきますので、後はよしなにしてください。
Google Apps Scriptの感想
普通のhtmlを使ったWebアプリケーションも作れたりして、思ったより色々出来ますね。制限もありますが。
当初はVBAみたいなもんだろうぐらいの認識だったのですが、認識を改めました。
参考
- https://developers.google.com/apps-script/articles?hl=ja
- https://developers.google.com/apps-script/class_sheet?hl=ja
- https://developers.google.com/apps-script/understanding_events?hl=ja
- https://developers.google.com/apps-script/understanding_triggers?hl=ja
- http://libro.tuyano.com/index2?id=638001
- http://libro.tuyano.com/index2?id=923002