質問: 画像の一括登録について 画像dbのサンプルを作成しているのですが、画像を一括登録する方法はないものでしょうか。 goooglespreadsheetに直に値を書き込んでもはねられてしまいます。uiを経由すると id.テーブル名.xxxxx の形式になっているようですが、xxxxx の部分の値がどこからきているのかわかりません。 よろしくお願いします。
回答: イメージファイルが複数ある場合などは、例えば、 https://gsuite.google.com/marketplace/app/drive_explorer/520711270513 のようなadd onで指定のフォルダ(複数のイメージが保存されているフォルダ)からfileの名称やfile idを含むurlを一瞬でgooglesheetに落とし、urlからidをの部分を関数で抜き出し、concatanateして https://drive.google.com/uc?export=view&id={fileid} のurlを計算で作成するのが最も効率的かもしれません。 指定のフォルダからファイルのidだけを取り出したい、ということであれば、google app scriptで、以下のようなcustomの関するを作って走らせれば、ファイル名、file idの値を得られますので、そこで得たidからappsheetで読み取れるurlを作成するのも一手です。 function list_all_files_inside_one_folder_without_subfolders(){ var sh = spreadsheetapp.getactivesheet(); var folder = driveapp.getfolderbyid('イメージファイルを保存しているフォルダのid'); // i change the folder id here var list = []; list.push(['name','id','size']); var files = folder.getfiles(); while (files.hasnext()){ file = files.next(); var row = [] row.push(file.getname(),file.getid(),file.getsize()) list.push(row); } sh.getrange(1,1,list.length,list[0].length).setvalues(list); }