สงสัย ว่าการอัพโหลดรูปภาพ Gmail ด้วย Google Script ทำงานกับ loop For ได้มั้ย??

ต้องขอบอกก่อนเลยนะคะว่าเราพึ่งได้เริ่มศึกษา การใช้ GoogleApp Script 

คือเราต้องการเปลี่ยนรูปโปรไฟล์ของ Gmail แบบให้มันเปลี่ยนเองให้ตรงกับรูปภาพที่เรามีอยู่ใน Google Drive
เราเลยหาข้อมูลแล้วไปเจอ Script นี้มาค่ะ ซึ่งเราลองทำแล้วมันได้ผล 

function updateGmailPhotoFromDrive() {

try {

var userEmail = 'amit@labnol.org';
var fileName = userEmail + ".jpg";

var blob = DriveApp.getFilesByName(fileName).next().getBlob();
var data = Utilities.base64EncodeWebSafe(blob.getBytes());

AdminDirectory.Users.Photos.update({photoData: data}, userEmail);

}

catch (err) {
Logger.log(err.toString());
}

}

แต่เนื่องจากว่าเรามีข้อมูล Gmail ที่ต้องทำการเปลี่ยนรูปโปรไฟล์จำนวนเยอะมาก เราเลยทำการสั่งวนลูปค่ะและเราก็มีลองปรับเปลี่ยน Script บ้างแต่พบว่าเหมือน Script ข้างต้นจะไม่สามารถใช้ทำงานร่วมกับการวนลูป For ลูป while ได้เลย คือเราก็งงๆไม่แน่ใจว่าเราเข้าใจการทำงานมันถูกต้องมั้ย

นี่คือที่เราทำค่ะ

function myFunction() {
var ss = SpreadsheetApp.openById("1uvdmqpnRw5EcIme0NO05389X9Xx3-0-9eOR6LoEz4kI");
var text = ss.getSheetByName("Sheet1");
var Range = ss.getDataRange();
var LastRow = Range.getLastRow();

for(i=2;i<LastRow+1;i++){

var colA = "A" + i;

var fileName = "";

var userEmail = text.getRange("A2").getValue();

var fileName = userEmail.toString().replace("@KKK.com", ".jpg");

var blob = DriveApp.getFilesByName(fileName).next().getBlob();

var data = Utilities.base64EncodeWebSafe(blob.getBytes());

AdminDirectory.Users.Photos.update({photoData: data}, userEmail);

var userEmail1 = text.getRange("A3").getValue();

var fileName1 = userEmail1.toString().replace("@KKK.com", ".jpg");

var blob1= DriveApp.getFilesByName(fileName1).next().getBlob();

var data1 = Utilities.base64EncodeWebSafe(blob1.getBytes());

AdminDirectory.Users.Photos.update({photoData: data1}, userEmail1);

i++;}}

พอเรากดRun มันแจ้งเตือน ว่า " Cannot retrieve the next object: iterator has reached the end. (line 26, file "AA") " 
บรรทัดที่ถูกแจ้งเตือน >>var blob1= DriveApp.getFilesByName(fileName1).next().getBlob();

หากท่านใดมีความรู้หรือมีข้อเสนอแนะช่วยชี้แนะมาได้เลยนะคะ ยินดีและพร้อมรับฟังค่ะ
ปล.หากพิมพ์ผิดใช้คำพูดผิดขออภัยด้วยนะคะ
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่