画像アップロードサービス、皆様は何をお使いでしょうか。
私はこれまで、Windows環境ではずっと ShareX - The best free and open source screenshot tool for Windows を使ってGoogle Photosにアップロードしていましたが、とあるモチベーションでGyazoに切り替えることを決意しました。
ただ、画像編集機能はShareXに慣れてしまっているため、ShareXからGyazoに画像をアップロードすることにして、編集機能をそのまま使い続けようと思います。
ShareXには、Custom Uploader機能があり、好きなリクエストとレスポンスを定義してアップロードすることが出来ます。この機能と、Gyazo APIを用いてGyazoに画像をアップロードしようと思います。
※ShareXは画像に限らず任意のファイルやテキストファイル、URL短縮の機能など、これやりたい!というのをほとんど網羅しているのでWindows環境構築時には導入をお勧めするソフトウェアです
手順
Gyazo側の準備
Gyazo APIへはAccess Tokenを用いてアクセスするため、事前に Application を作成する必要があります。
- Gyazo Applications から「New Application」ボタンでアプリケーションを作成します。
Nameはお好きな物を、Callback URLはOAuthの認証を行わないため、仮置きのURLを設定します。 ここでは、プレースホルダに設定されていた http://example.com
を入力しました。
アプリが作成されたら、アプリ名をクリックし、 Your access token
のところにある Generate
ボタンから、Access Token を作成します。
Your access tokenのところに長い文字列が表示されていればOKです。このtokenはShareX側の設定で使用するためメモしておきます。(画像でいうと 8685bc~~~
の文字列)
これでGyazo側の設定は完了。
ShareX側の準備
ShareXの基本操作等はここでは割愛します。
日本語表示のShareXでは、 アップロード先 > アップロード先を自分で設定
より、英語表示では Destinations > Custom uploader settings...
より、任意のアップロード設定を追加することが出来ます。
以下のCustom Uploader設定のjsonをコピーしてから、 ShareXのImport from clipboard にて設定をインポートしてください。
{ "Version": "13.4.0", "Name": "Gyazo", "DestinationType": "ImageUploader", "RequestMethod": "POST", "RequestURL": "https://upload.gyazo.com/api/upload", "Parameters": { "access_token": "<access_token_here>" }, "Body": "MultipartFormData", "FileFormName": "imagedata", "URL": "$json:permalink_url$", "ThumbnailURL": "$json:thumb_url$" }
その後、URL parameters の <access_token_here> に、先ほどGyazoの準備で生成したaccess tokenを埋め込みます。
最後に、ShareXの After capture tasks > Upload image to host
にチェックをいれ、
Destinations > Image uploader
から、 Custom image uploader
にチェックをいれ設定完了です。
無事にShareXから画像をアップロードすることが出来ました。