読者です 読者をやめる 読者になる 読者になる

技術のメモ帳

気が向いたときに書いてます

[GAS]Gyazoに画像ファイルをアップロードする

アプリケーション登録

アカウント取得後、Gyazo APIよりアプリケーションを登録します。

下記フォームより、アプリケーション名とCallbackを入力すれば、登録完了です。

今回はサンプル用途のため、コールバックは、http://localhost:8080で登録しました。

アクセストークンの生成

アプリケーション名のリンクを押下すると、generate access_tokenボタンが表示されます。

アクセストークンを生成したら、文字列をコピーし、スクリプトエディタに設定します。

[ファイル]→[プロジェクトのプロパティ]→[スクリプトのプロパティ]に、GYAZO_ACCESS_TOKENとして設定してください。

アップロード関数を保存

スクリプトエディタで下記関数を保存してください。

function uploadImageToGyazo() {
  var prop     = PropertiesService.getScriptProperties(),
      imageUrl = 'https://www.google.co.jp/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png',
      response = UrlFetchApp.fetch(imageUrl),
      fileBlob = response.getBlob(),
      options  = {
        "method": "post",
        "payload": {
          "access_token": prop.getProperty('GYAZO_ACCESS_TOKEN'),
          "imagedata": fileBlob
        }
      };
  UrlFetchApp.fetch('https://upload.gyazo.com/api/upload', options);
}

なお、変数imageUrlを任意の文字列に置き換えれば、HTMLから収集した画像URLから、ファイルをアップロードする等が可能となります。

履歴確認

上記関数を実行して、履歴ページを確認すると、問題なく保存されていることが確認できます。

ちなみに、Gyazo APIのリクエスト上限は12,500回/日(2015年9月現在)ですので、迷惑が掛からないよう、良識ある使い方をお願いいたします。