livedoor Reader のピン関連のAPIについて
一筋縄でいかなかったのでメモっとく
ピン一覧の取得
- url
- http://reader.livedoor.com/api/pin/all
- メソッド
- post
- リクエスト
- なし
- レスポンス(JSON)
-
[ { created_on : (ピンの作成日時をシリアライズ化した数値?) link : リンク title : ページのタイトル }, ... ]
ピンの削除
- url
- http://reader.livedoor.com/api/pin/remove
- メソッド
- post
- リクエスト
-
- ApiKey:APIキー
- link:削除対象(元記事)のURL
- レスポンス(JSON)
- ??
ApiKeyについて
removeに必要なApiKeyは、Cookieの"reader_sid=xxxx"ってやつのこと。
Firefox拡張(Vimperatorプラグインとかも含む)だと、以下のようなコードで取得できる。
function getLDRApiKey() { var uri = Cc["@mozilla.org/network/io-service;1"] .getService(Ci.nsIIOService) .newURI(LDR_DOMAIN, null, null); var cookie = Cc["@mozilla.org/cookieService;1"] .getService(Ci.nsICookieService) .getCookieString(uri, null); var apiKey = cookie.match(/reader_sid=([^;]+)/); return apiKey ? apiKey[1]: null; }
livedoor Reader でのAPI呼び出しには、固定的なパラメタとしてApiKeyが渡されるようになっているっぽい。
しかし、/api/pin/all のような一部のAPIについては、ApiKeyを渡さなくてもレスポンスを返してくれるものもある。(たぶん、Cookieの値だけで通してる?)