はてなAPI用gemでブログを投稿してみる
開発環境
- Linux Mint 17.3 MATE 32bit
- rbenv,ruby-build
- Ruby2.4.0
gem | License | Copyright |
---|---|---|
hatenablog | MIT | Copyright © 2015 Kohei Yamamoto |
背景
Ruby ではてな OAuth のアクセストークンを取得する - blog.kymmt.com
はてなブログ API 用の gem を書いた - blog.kymmt.com
準備
- テキトーなブログを新規作成する
- テキトーな記事を3件書く
- http://ytyaru.hatenablog.com/entry/2017/05/11/000000
実行
はてなブログ API 用の gem を書いた - blog.kymmt.com
上記の通り、設定ファイルを用意する。
hatenablogを実行してみた結果、以下のようなエラーが出た。参考先にはconf.yml
とあるが、エラー内容ではconfig.yml
とある。
/home/mint/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/hatenablog-0.5.0/lib/hatenablog/configuration.rb:14:in `read': No such file or directory @ rb_sysopen - ./config.yml (Errno::ENOENT) from /home/mint/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/hatenablog-0.5.0/lib/hatenablog/configuration.rb:14:in `create' from /home/mint/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/hatenablog-0.5.0/lib/hatenablog/client.rb:21:in `create' from test.rb:4:in `<main>'
結果2
設定ファイル名をconfig.yml
に修正すると実行できた。
予想通りの結果になってくれた。
- 既存の投稿を取得した
- 新規投稿した(実行時にすぐ投稿。予約投稿ではない)
- 投稿した記事のタイトルを更新した
$ bash rub.sh ruby 2.4.0p0 (2016-12-24 revision 57164) [i686-linux] /home/mint/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/nokogiri-1.6.8.1/lib/nokogiri/xml/document.rb:44: warning: constant ::Fixnum is deprecated <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "SoftwareSourceCode", "name": "GitHub.Upload.ByShell.201702020912", "description": "GitHubリポジトリを作成してローカルDBに登録するシェルスクリプト(仮)", "dateCreated": "2017-02-02T09:12:00Z", "codeRepository": "https://github.com/ytyaru/GitHub.Upload.ByShell.201702020912", "programmingLanguage": "Python", "runtimePlatform": "Python3.4.3", "codeSampleType": "$ python Main.py", "author": { "@context": "http://schema.org", "@type": "Person", "name": "ytyaru", "url": "https://github.com/ytyaru", "sameAs": ["http://ytyaru.hatenablog.com/about"] } } </script> 2件目の記事を書く。 以上。 テスト記事を書いてみる。 # 見出し1 * 項目1 * 項目2 * 項目3 以上。
はてなブログから新規投稿されていることを確認した。
課題
- Python3で書く
- もうRubyはこりごり
- 自分でも書いてみたい
- 予約投稿できるか確認したい
これまでの歴史
はてなAPIの動作確認をするために、どれだけ回り道をする羽目になったか振り返ってみる。じつに23記事。
http://ytyaru.hatenablog.com/entry/2017/05/09/000000
http://ytyaru.hatenablog.com/entry/2017/05/10/000000
http://ytyaru.hatenablog.com/entry/2017/05/11/000000
Server Error
Server Error
http://ytyaru.hatenablog.com/entry/2017/05/14/000000
http://ytyaru.hatenablog.com/entry/2017/05/15/000000
http://ytyaru.hatenablog.com/entry/2017/05/16/000000
http://ytyaru.hatenablog.com/entry/2017/05/17/000000
http://ytyaru.hatenablog.com/entry/2017/05/18/000000
http://ytyaru.hatenablog.com/entry/2017/05/19/000000
http://ytyaru.hatenablog.com/entry/2017/05/20/000000
http://ytyaru.hatenablog.com/entry/2017/05/21/000000
http://ytyaru.hatenablog.com/entry/2017/05/22/000000
http://ytyaru.hatenablog.com/entry/2017/05/23/000000
http://ytyaru.hatenablog.com/entry/2017/05/24/000000
http://ytyaru.hatenablog.com/entry/2017/05/25/000000
http://ytyaru.hatenablog.com/entry/2017/05/26/000000
http://ytyaru.hatenablog.com/entry/2017/05/27/000000
http://ytyaru.hatenablog.com/entry/2017/05/28/000000
http://ytyaru.hatenablog.com/entry/2017/05/29/000000
http://ytyaru.hatenablog.com/entry/2017/05/30/000000
http://ytyaru.hatenablog.com/entry/2017/05/31/000000
お疲れ様でした私。
所感
やっとAPIの実行が確認できた。そのために無駄に苦労した。既存パッケージがあれば簡単に確認できると思ったのに。まさかその環境構築のせいでOS再インストールまでやる羽目になるとは計算外だった。何度もやめたいと思ったが、ここまでやった私えらい。ともあれ、これで先が見えてきた。