OAuthで使う新しいGyazo APIができてたので、Node.js用のラッパーを作った。今までのupload.cgiにアップロードする奴とは別の最近できたAPIっぽい。


https://www.npmjs.org/package/gyazo-api
https://github.com/shokai/node-gyazo-api

% npm install gyazo-api


アップロード


開発者としてアプリケーションを登録して、Access Tokenを取得してから

こういう風にアップロードできる。
var Gyazo  = require('gyazo-api');
var client = new Gyazo('ACCESS_TOKEN');

client.upload('/path/to/file.jpg')
.then(function(res){
console.log(res.data.image_id);
console.log(res.data.permalink_url);
})
.catch(function(err){
console.error(err.stack);
});
upload関数はファイルパスでなくstreamやbufferも渡せる。

他にアップロードした画像のリストを取得したり、削除もできる。
Gyazo API、response bodyにJSONで結果が返ってくるんだけどHTTP Headerにもx-per-pageとかx-current-pageとかついているので、res.responseにレスポンスオブジェクトそのまま付けておいた。



Travis CIで俺のアイコンをアップロードしたり消したりしているので、テスト実行する度にgyazo.com/historyに俺の写真が上がったり消えたりしててつらい