概要
Dayone2でAPIを使おうと思ったら見当たらず、CLIなるものがあることをしったので投稿を試してみた。使用しているのはdayone2です。
インストール
下記の一発でした
$ sudo /Applications/Day One.app/Contents/Resources/install_cli.sh
$ dayone2 -h
Usage: dayone2 [options] command
Commands:
new [text] [text]…
Creates new entry with optional text. Every text argument will be separated by
略
実行
-j
は —-journal
`のオプションです。
$ dayone2 -j nikki new ‘text’
Created new entry with uuid: D95EE7ADEFD6443C9F13E4C07B4EB03A
実際の投稿は以下のような感じ
nikkiというジャーナルに追加されてました。
余談
APIがあればrubyから直接叩きに行くのだけど、しょうがないのでCLIをrubyから呼び出して投稿してる。asanaで終わったタスクをあつめて投稿するスクリプトを組んでいます。
# ruby
`/usr/local/bin/dayone2 -j nikki new #{body}`
みたいな感じにしようと思っていたんですが、シェルが改行きっかけで別コマンドとして読んでしまうのでちょっと考えたんですが、めんどくさかったのでファイルに一時的に書き出してそのファイルを渡す方法に変更して投稿しています。
# ruby
File.open('./tmp/tmp.txt', 'w') do |io|
io.write(body)
end
`/usr/local/bin/dayone2 -j nikki new < ./tmp/tmp.txt`
一応これで投稿できるようになりました。
参考
http://help.dayoneapp.com/day-one-2-0/command-line-interface-cli