0
私は、GoogleフォームのGoogleフォームのスプレッドシートの回答を「getEditResponseUrl()」と一緒に検索してビルドに役立てることができる非常に優れたGoogleスクリプトを見つけましたGoogleフォームを通じて変更可能なデータベースです。アップロードされたファイルのURLをGoogleフォームから取得する
しかし、私は "ファイルのアップロードに関する質問"のURLを取得するのに苦労しています。ユーザーがファイルをアップロードするはずの質問は、4番目の「ファクト」です。
私のスプレッドシートに表示される回答は「[Ljava.lang.Object; @ 508c8b8b」ですが、ファイルは表示されません。
ユーザーがアップロードしたファイルのURLを取得できるように、この作業をどのように行うか考えてみましょうか?
はありがとうと種類が
var ss = SpreadsheetApp.openById("spreadsheeturl"); // to be customised
var responseSheet = "Database"; // to be customised
function submitFormFunc(e) {
var items = e.response.getItemResponses();
var responses={};
for(var i = 0; i< items.length; i++) {
responses[items[i].getItem().getTitle()]=items[i].getResponse();
}
var responseRow = [];
responseRow.push(e.response.getTimestamp().toString());
responseRow.push(e.response.getId());
responseRow.push(responses["Challenge"]); // to be customised
responseRow.push(responses["Client"]);
responseRow.push(responses["Date"]);
responseRow.push(responses["Facture"]);
// to be customised
// add as many as needed
responseRow.push(FormApp.getActiveForm().getResponse(e.response.getId()).getEditResponseUrl());
var isNewItem = alreadyExist(ss,e.response.getId());
if(isNewItem<0){
ss.getSheetByName(responseSheet).appendRow(responseRow);
}
else{
ss.getSheetByName(responseSheet).getRange(isNewItem+2, 1, 1, 6).setValues([responseRow]);
}
}
function alreadyExist(ss,id){
var ids = ss.getSheetByName(responseSheet).getRange("B2:B").getValues();
for(var i=0; i< ids.length; i++){
if(ids[i][0]===id){
return(i);
}
}
return(-1);
}