gyazo api
公式の実装例
gyazo official browser extention
gyazo official linux client
Gyazoへのアップロードを実装する方法
DeviceIDが未知の場合の静止画のアップロードAPI
gyazo.comのeasy_auth apiを使うのが最も簡単
アップロード後にブラウザでGyazoを開いたタイミングでそのユーザーが所有する画像になるしくみ
公式ドキュメント
Gyazoアプリケーションを申請する必要がある
New Applicationをクリックしてフォームを適当に埋める
https://gyazo.com/8b4d1aaef678fd15f7c97c7c3cb0a4a9
ここをクリック
https://gyazo.com/2ba86966e4044152b2a2bba0b2db1b52
ここの画面のclient_idをメモする!
https://gyazo.com/8ef661606c852cead8ea7578cad49d4d
実装例
Content-Type
multipart/form-data
client_id
required
string
エンコーディング:ASCII
image_url
required
string
エンコーディング:base64 ASCII
画像バイナリをbase64エンコードしたものをdata:スキームでURL文字列にしたもの
例
code:data
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
referer_url
required
string
エンコーディング:ASCII
キャプチャしたWebサイトのURL
title
optional
string
エンコーディング:UTF8
キャプチャしたWebサイトのタイトル
hr.icon
DeviceIDが既知の場合の静止画のアップロードAPI
ネイティブアプリなどで、DeviceIDのファイルを読むことができる場合はより高度なAPIを使える
macOSの場合
~/Library/Gyazo/id にDeviceIDがある
Windowsの場合
%APPDATA%\Roaming\Gyazo\id.txt にDeviceIDがある
Linuxの場合
~/.gyazo.id にDeviceIDがある
実装例
Content-Type
multipart/form-data
id
required
string
エンコーディング:ASCII
DeviceIDを指定する
file_name
required
string
エンコーディング:UTF8
ファイル名を指定する
面倒だったら空文字でもOK
検索とかに使えるので便利
imagedata
required
string
エンコーディング:base64 ASCII
画像バイナリをbase64エンコードしたものをdata:スキームでURL文字列にしたもの
scale
requied
float
エンコーディング:ASCII
画面のDPI Scaleを指定する
たとえば4Kのディスプレイで150%表示にしてるときは1.5を指定する
created_at
optional
string
エンコーディング:ASCII
ファイルの作成日時にしたいunixtimeを指定する
Gyazo内では作成日時順に並ぶのでそれをコントロールしたければ必要
このフィールドを指定しないと、アップロードした日時がcreated_atになる
collection_id
optional
string
エンコーディング:ASCII
ファイルアップロード時に追加したいコレクションのIDを指定する
自分の作成したコレクション、または自分に権限がある共有コレクションしか指定できない
metadata
optional
string
エンコーディング:UTF8 JSON
検索とかに使えるので便利
以下のKey-Valueをjsonでシリアライズした文字列
app
アプリケーション名
title
画面/画像のタイトル
url
リファラーURL
desc
その他description
ここに #hoge とか書いておくとGyazo内検索用のハッシュタグになるので便利