sanom sanom Author
Title: ค้นหา url จากไฟล์ที่อัพโหลดไปยัง Drive ใน AppSheet
Author: sanom
Rating 5 of 5 Des:
เป็นสคริปต์สำหรับ Google Apps Script ที่ใช้ในการค้นหาไฟล์ใน Google Drive จากชื่อโฟลเดอร์และชื่อไฟล์ที่ระบุใน Google Sheets แล้วบันทึก URL ขอ...

เป็นสคริปต์สำหรับ Google Apps Script ที่ใช้ในการค้นหาไฟล์ใน Google Drive จากชื่อโฟลเดอร์และชื่อไฟล์ที่ระบุใน Google Sheets แล้วบันทึก URL ของไฟล์นั้นลงในคอลัมน์ C ของแถวเดียวกัน โค้ดนี้ทำงานภายใต้การทำงานของฟังก์ชัน doPost, ซึ่งถูกเรียกเมื่อมีการส่งข้อมูลมายัง Apps Script ผ่าน HTTP POST request. นี่คือรายละเอียดของแต่ละส่วนของโค้ด:


function doPost(e) {

  var postdata = JSON.parse(e.postData.contents);

  var row = postdata.row;

  var sheet = SpreadsheetApp.getActive().getSheetByName("ชื่อชีต");

  var arrpath = sheet.getRange('คอลัมภ์ชื่อไฟล์'+row).getDisplayValue().split("/");

  var foldername = arrpath[0];

  var filename = arrpath[1];

  var fileid = DriveApp.getFoldersByName(foldername).next().getFilesByName(filename).next().getId();

  var fileurl = "https://drive.google.com/uc?export=view&id=" + fileid;

  sheet.getRange('คอลัมภ์ลิงค์'+row).setValue(fileurl);

}



คำอธิบาย

  1. var postdata = JSON.parse(e.postData.contents); - แปลงข้อมูลที่ได้รับจาก request เป็น JSON object.

  2. var row = postdata.row; - อ่านค่าของแถวที่ต้องการอัพเดทจากข้อมูลที่ได้รับ.

  3. var sheet = SpreadsheetApp.getActive().getSheetByName("ชีต1"); - เข้าถึงแผ่นงานที่ชื่อว่า "ชีต1" ภายในสเปรดชีตที่ script กำลังทำงานอยู่.

  4. var arrpath = sheet.getRange('B'+row).getDisplayValue().split("/"); - อ่านค่าจากคอลัมน์ B ของแถวที่ระบุและแยกสตริงด้วยเครื่องหมาย "/" เพื่อแยกชื่อโฟลเดอร์และชื่อไฟล์.

  5. var foldername = arrpath[0]; - กำหนดชื่อโฟลเดอร์จากส่วนแรกของ array.

  6. var filename = arrpath[1]; - กำหนดชื่อไฟล์จากส่วนที่สองของ array.

  7. var fileid = DriveApp.getFoldersByName(foldername).next().getFilesByName(filename).next().getId(); - ค้นหาไฟล์ด้วยชื่อโฟลเดอร์และชื่อไฟล์ที่ระบุ, และเก็บ ID ของไฟล์นั้น.

  8. var fileurl = "https://drive.google.com/uc?export=view&id=" + fileid; - สร้าง URL สำหรับการเข้าถึงไฟล์โดยตรงจาก Google Drive โดยใช้ ID ของไฟล์.

ในส่วนของ Body

{
  "row": "<<[_RowNumber]>>"
}


สูตรในการย่อลิงค์ใน GoogleSheet

IMPORTDATA(C7("http://tinyurl.com/api-create.php?url=" & C2)

 

 

About Author

Advertisement

Lazada Indonesia
 
Top