0

gyazo gemを公式APIに対応させた

https://rubygems.org/gems/gyazo

今まではGyazo.appの中にあったスクリプトを見て勝手にアップロードしてるみたいな感じでやってたので、正式なOAuth APIのほうを使うように修正した。upload,list,deleteのAPIが使える。version 2.0.0になった。

以前のバージョンとはインタフェースが違うので1.0系のgyazo gemを使っている人は注意してほしい


使い方

applicationを登録するとAccess tokenが取得できるので、それを用意してから

require 'gyazo'

gyazo = Gyazo::Client.new 'your-access-token'
res = gyazo.upload 'my_image.png'
puts res['permalink_url'] # => "http://gyazo.com/a1b2cdef345"

とても簡単に使える。

ただ、OAuth使うように変更したのに伴って、今まで同梱してたgyazoコマンドは削除した。CLIアプリでtoken取得するのをどうやるべきか考えてる。


ほぼ同じインタフェースのnode.js版もある

0

OAuth版Gyazo APIのNode.jsラッパー作った

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に俺の写真が上がったり消えたりしててつらい

0

issueやpull requestにGyazo GIF使うと便利

動作を説明するのが楽。
githubはmarkdown内で普通にimgタグ使えるのでgif貼っていくといいと思います。



なおgyazoの画像をそのままblogなどに貼ると、アクセスが集中した場合に画像が埋め込めなくされ
る事があった時期もあったけど(今はないらしい)、
githubは自動的にimgタグをCDNにコピーして配信してくれるので安心です。

(見る人が少ない社内gitlabとかも問題ないと思う)

README.mdとかにgif貼るのもわかりやすくていいですね。

以上、Gyazo GIFステマでした