こんにちわ、野良ジニアです。
前回の記事で『AtomAPIのクエリに ?folder=hoge
を追加すれば、アップロードフォルダを指定できるで。公式ドキュメントにも書かれてないんやで(ドヤ顔)』と紹介しました。
その後、ドヤ顔で参考にさせてもらったブログにコメントしたところ、『公式ドキュメントにアップロードフォルダの指定方法書いてあるで!』と教えて頂きました。恥ずかしすぎる(赤面)
前回の記事には「公式ドキュメントにちゃんとやり方書いてあるから、そっち見た方がええで(真顔)」と訂正を入れておきましたが、本記事であらためて正式手順について触れたいと思います。
※前記事にも書かせてもらいましたが、id:masawadaさん、コメントしていただきありがとうございましたm(_ _)m
AtomAPIでアップロードフォルダを指定する『正式な』方法
公式ドキュメントより引用
公式ドキュメントより、PostAPIの仕様を引用しておきます。
POSTURI
(中略)
リクエスト用XML文書に記述することができるパラメータは以下です。
(中略)
- アップロード先のフォルダ名をdc:subject要素に
- 指定されたフォルダが存在しない場合は、自動的に作成されます。
画像キャプチャも載せておきます。めっちゃ書いてあるのに、どうして見落としたかな…
実際に試してみた
まぁ公式手順なので当たり前なのですが、指定したフォルダに無事アップロードできました!!
参考までに使ったソースコードを貼っておきます。id:masawadaさんのコードを folk して、微妙に改造しました。
主な改造箇所は以下になります。
ACCESS_TOKEN
ACCESS_TOKEN_SECRET
をコマンドライン引数に変更
(トークン期限切れのたびにソースコードを修正するのが面倒だったので)- アップロードフォルダをコマンドラインから指定できるように変更。
何も指定しないとトップフォルダにアップロードされる。 - 指定ファイルの拡張子を見て、
content-type
を設定
(※ただし、hoge.jpg
の場合にimage/jpg
になってしまうので注意。image/jpg
は誤りで、image/jpeg
が正解。そこまでやるの面倒くさかっt)
改造版のコマンドイメージは
bundle exec ./fotolife.rb FILE_PATH 'ACCESS_TOKEN' 'ACCESS_TOKEN_SECRET' [UPLOAD_FOLDER]
です。'ACCESS_TOKEN'
'ACCESS_TOKEN_SECRET'
のシングルクォート('
←これ)は消さないように注意してください。
はてなブログ用フォルダにアップロードする場合は、
bundle exec ./fotolife.rb hoge.png 'hogehoge' 'fugafuga' "Hatena Blog"
となります。ダブルクォートで囲めば%20
とか書かずに、普通に半角スペースで良いです。
まとめ
- 変なこと(
?folder=hoge
のクエリを追加とか)しなくても、公式手順でアップロードフォルダの指定ができた - 公式ドキュメントは隅々までちゃんと目を通そう
- 公式ドキュメントは隅々までちゃんと目を通そう
(大事なことなのでry
色んな意味で良い勉強になりました。これからも精進していきます!
※以下の内容が何に使えるのかご存知の方がいれば教えてください。使い道が良くわからなかった…
- アップロードツール名をgenerator要素に
- フォトライフの設定画面で、アップロードツール毎のフォルダ振り分けの設定ができます。