Last active
June 9, 2021 13:15
-
-
Save kurozumi/f26c6cc75be55e61e9daadfdf6108771 to your computer and use it in GitHub Desktop.
Google Apps Scriptで画像をダウンロードしてGoogle Driveに保存する
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// URLパーサーライブラリ | |
eval(UrlFetchApp.fetch('https://rawgit.com/medialize/URI.js/gh-pages/src/URI.js').getContentText()); | |
/** | |
* A列に入力された画像URLリストを元に画像をダウンロードしてGoogle Driveに保存する | |
*/ | |
function downloadImages() { | |
// 予め作っておいた画像フォルダの情報を取得 | |
var folders = DriveApp.getFoldersByName("画像フォルダ"); | |
if(false === folders.hasNext()) { | |
return; | |
} | |
var folder = folders.next(); | |
// 現在開いているシートを取得 | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
// 範囲はA列を指定 | |
var range = sheet.getRange("A1:A"); | |
// 画像URLが入力されている最後の行数を取得 | |
var row = sheet.getLastRow(); | |
for (i = 1; i <= row; i++) { | |
// シートから1行ずつ画像URLを取得 | |
var url = range.getCell(i,1).getValue(); | |
// ファイル名取得 | |
var fileName = URI(url).filename(); | |
// 画像データを取得 | |
var response = UrlFetchApp.fetch(url); | |
var fileBlob = response.getBlob().setName(fileName); | |
// 取得した画像をGoogle Driveにアップロード | |
var file = DriveApp.createFile(fileBlob); | |
// ルートディレクトリに画像が保存されているので画像フォルダにコピー | |
file.makeCopy(file.getName(), folder); | |
// ルートディレクトリの画像を削除 | |
file.setTrashed(true); | |
} | |
} |
ありがとうございます。
修正しました。
ご対応ありがとうございました:bow:
こちらのコードのおかげでやりたい作業がスムーズに対応でき、大感謝でした 🙏
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
お手間でなければご確認と修正のご検討をお願いいたします。
https://gist.github.com/kurozumi/f26c6cc75be55e61e9daadfdf6108771#file-downloadimages-gs-L15
シートのセル指定は 0 ではなく 1 からでないとエラーになると思います。
https://gist.github.com/kurozumi/f26c6cc75be55e61e9daadfdf6108771#file-downloadimages-gs-L21
変数
fileName
が定義されていないです。