画像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);
}
調べてみて「できそうかな?」と思っていたら、コードまで書いていただいてご親切にありがとうございます。
またよろしくお願いします。
できました!
ありがとうございます。😀
しかし、これはファイル名が直に出ているところでないと使いにくいですね…
いろいろと考えてみる必要がありそうです。
ファイルをクラウド上に保存し、Shared Linkからアクセスするサービスは数多有りますが、それぞれのセキュリティー設定を理由にAppsheet上で表示させることにはトリックが必要なようです。
詳しくは、
のオフィシャルDOCUMENTにも記載されています。
例として、Google DriveにImage Fileを保存。
画像をBrowserで開くとURLの一部にFile IDが表示されます。そのIDを取得し、以下
https://drive.google.com/uc?export=view&id={fileID}
の通り、ID=の後にそのIDを張り付け、URLを作成。
そのURLをスプレッドシートに保存し、Appsheetからそのシートを読取り、Image TYPEと設定すれば、画像が表示されるようになるはずです。
はい。念のため貼ってみます。
こちらでも出ると思います。
よろしくお願いします。
このhttps://photos.appで始まる画像のURLは共有設定がなされていますでしょうか? このURLをブラウザーに張り付けると正しく表示されますでしょうか?
お世話様です。
Gフォトの画像で試してみました。
画像はリンクだけでアクセスできるようにしましたが、どうもうまくいきません。
そもそもGフォトだとうまくいかないのでしょうか?
Appsheetを窓口に複数の画像ファイルを一度に取り込むことはできません。(これはアップシートが前提としているのがRDBSであり、また、アプリ事にそのData Schemaも異なるため)
画像ファイルは、カラムをIMAGE と設定したうえで、一点一点Upしていく必要があります。
但し、画像がどこかのクラウド上に保管されており、それらのファイルへのURLリンクが既にあるようでしたら、スプレッドシートにURLの値を持たせたカラムを作成しアップシートでそのシートをTABLEとして取り込み、当該カラムをIMAGEに設定すればアプリ上でURL先の画像を表示できます。