はてなフォトライフAtomAPIを使ってみた

はてなjigletの新機能で
画像URLを渡すとその画像をフォトライフに投稿する
というのを作ってみました。
(作っただけで、まだテストしていないので公開してない)


詳しくは、はてなフォトライフAtomAPIに書いてあるとおりで
はてなブックマークの時とほぼ同じでした。
違いは画像データを扱うことくらい。

リクエス

POST /atom/post

<entry xmlns="http://purl.org/atom/ns#">
  <title>Sample</title>
  <content mode="base64" type="image/jpeg">/9j/2wCEAAQDAwQDAw.../9n/AA==</content>
  <dc:subject>jiglet</dc:subject>
  <generator url=\"http://intern.jig.jp/hatena/\" version=\"1.0\">Hatena jiglet</generator>
</entry>

実際のリクエストを貼ると、content要素がすごいことになるので説明ページのをコピペ。
dc:subject要素によるフォルダ指定、generator要素によるフォルダ振り分けも出来るらしく、便利そうなので付けてみました。(適当)
dc:subject要素は、実際にフォルダ指定で投稿できたのを確認しましたが、
generator要素は、さっぱり効果が確認できなかったです。指定仕方が違うのかも。。。

レスポンス

HTTP/1.1 200 OK
Date: Sun, 25 Jan 2009 09:40:18 GMT
Server: Apache/2.2.3 (CentOS)
X-Framework: Hatena/2.0
Content-Length: 724
Content-Type: application/x.atom+xml; charset=utf-8
Vary: Accept-Encoding
Connection: close

<?xml version="1.0" encoding="utf-8"?>
<entry xmlns="http://purl.org/atom/ns#" xmlns:hatena="http://www.hatena.ne.jp/info/xmlns#">
  <title></title>
  <link rel="alternate" type="text/html" href="http://f.hatena.ne.jp/u1_fukui/"/>
  <link rel="service.edit" type="application/x.atom+xml" href="http://f.hatena.ne.jp/atom/edit/" title=""/>
  <issued></issued>
  <author>
    <name>u1_fukui</name>
  </author>
  <generator url="http://f.hatena.ne.jp/" version="1.0">Hatena::Fotolife</generator>
  <id>tag:hatena.ne.jp,2005:fotolife-u1_fukui-</id>
  <hatena:imageurl></hatena:imageurl>
  <hatena:imageurlmedium></hatena:imageurlmedium>
  <hatena:imageurlsmall></hatena:imageurlsmall>
  <hatena:syntax></hatena:syntax>
</entry>

はてなブックマークでは何故かWSSE認証失敗してましたが
フォトライフでは成功しました。


レスポンスコードが200なのが気になる。。
説明ページでは成功すると201が返ってくるって書いてあるのに。
レスポンスコードの他も説明ページと違うところが何箇所かあるので
そのあたりがはてなブックマークAtomAPIで失敗する理由なんだろうか。。