notebookスマートフォン用の表示で見るnotebook都内でWEB系エンジニアやってます。2019-09-01はてなブログ、フォトライフのAPIを使って投稿を自動化するRubyふと思い立ってめちゃくちゃ今更だけど当ブログ(はてなブログ)への記事投稿に関わる作業を自動化した自分は現在MkDocsではてなブログに書く記事、下書き、ただのメモ書きとすべて保存してプライベートリポジトリに持っています(後で見返す時用にいつもMkDocsをローカルに起動している)そこから記事にするものを書き上げてWebのUIでコピペして画像をフォトライフに上げてっていう感じのだいぶ面倒な作業をしていましたライブラリなども軽く調べてみたものの画像とセットでやってくれるようなものが見つからなかったので自分で書くかということになった「はてなブログに記事上げるのを自動化しました」という記事はそれなりにあるが画像も含めて上げたみたいな記事が見つからなかったので残しておくはてなのAPIOAuth認証で認証してXMLを送ることで記事の取得や投稿などができるだいたいWSSEでやりましたーって記事が多いというか更新履歴見たらほとんど更新されてないんですね。個人(MkDocs)の都合だがディレクトリ名にカテゴリを含めるようになっているので単一のカテゴリしか表現できないjsonで管理するのも基本自家製のcli経由なのでマルチバイト文字はあまり入れたくないということで管理上持っておくカテゴリ名とブログで表示するカテゴリ名のマッピングを作ったこちらは増えたらその時マッピングを増やす対応みたいな感じになるがまぁしょうがない。}]一枚のスクリプトにまとめてみる記事用に一枚のスクリプトにまとめてみました書き捨て感覚で書いたのでもし流用する場合はよしなに改善していただければ。}API経由で上げた記事のIDと画像のID、URLがJSONに保存されました記事を修正して上げなおそうとした場合はすでにあるIDを取得してPUTするようになります画像はタグだけ取得して再アップロードしないようにしますまぁ自分で使うツールだしとりあえず動くというところまででなんかモチベーションが上がらなくなってしまったのでいったんはこれで終わりアイキャッチ画像の選択API経由だと指定できなそうでした記事の最初に挿入した画像が基本的にはアイキャッチになるようなので記事の書き方を工夫すればなんとかなるかも。?まとめ最終的に完全自動化はできないなーということになったものの一番面倒な作業は自動化できたのでとりあえすは良かったそもそも完全自動化できないなら他の静的サイトジェネレーターでやればいいじゃんとか思ったものの独自ドメインもとってないから今更乗り換えるのもなーというのと移行にもそれなりに時間掛かりそうというネガティブな理由でこのまま続けることにしたMkDocs自体はカスタムしすぎたせいか最新バージョンで動かなくなってしまっているので時間とやる気を見つけて他のツールに移行したい今回記事にまつわる部分に関してはだいたい自動化できた(できなかった部分は記事やメモの管理方法によるもの)ため、ちょっとアイデア出して自動投稿のブログを作って運用してみたいなと思いますどんどん記事書いていくぞー!最後にサンプルのGistを貼っておきますはてなブログのAPIを使って画像も一緒にポストするサンプルgist.github.comおまけ色々書いたもののこの記事をアップしようとしたらXMLパースエラーで投稿できなかったwコードにXML(HTMLも?)が含まれている場合にAPIで投稿できないようだったので後で調べてみる。(1)はてなブログをはじめよう!swfzさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。