6 พ.ย. 2020 เวลา 06:15 • วิทยาศาสตร์ & เทคโนโลยี
การเพิ่ม Email ทีละมากๆ ในคอนโซลผู้ดูแล (Google Admin) ด้วย Google Sheets
หลังจากก่อนหน้านี้ได้เขียนเรื่องการลบ Email ทีละมากๆ ไปแล้ว วันนี้จะมาพูดถึงการเพิ่ม Email ทีละมากๆ ในคอนโซลผู้ดูแล (Google Admin) ด้วย Google Sheets บ้าง เพื่อความสะดวกของผู้ดูแลระบบ
โจทย์ปัญหา
ต้องการเพิ่ม Email ของนักเรียนที่อยู่ห้องพิเศษวิทยาศาสตร์ จำนวน 50 คน
ขั้นตอนวิธีการ
1. สร้าง Sheet และกำหนดคอลัมน์ที่จำเป็น
2. พิมพ์ชื่อนักเรียน และ Email จำนวน 50 คน
3. เพิ่มหน่วยงานใน Google Admin
4. เขียนสคริปต์ใน Google Sheets ให้เพิ่ม Email
5. ตรวจสอบความถูกต้อง
สิ่งที่จะได้รับจากบทความ
1. รู้จักวิธีใช้ฟังก์ชั่น JOIN
2. รู้จักเขียนสคริปต์ในการเพิ่ม Email ในคอนโซน Google Admin
มาเริ่มกันเลย
ขั้นตอนที่ 1 สร้าง Sheet และกำหนดคอลัมน์ที่จำเป็น
1.1 สร้าง Sheets ใหม่ ชื่อว่า add user และพิมพ์คอลัมน์ email name lastname OU password staus
OU หมายถึง หน่วยงานในองค์กร ในที่นี้อาจจะหมายถึง กลุ่มผู้ใช้งาน แผนก ฝ่าย ก็ได้
ขั้นตอนที่ 2 พิมพ์ชื่อนักเรียน และ Email จำนวน 50 คน
2.1 นำรายขื่อนักเรียนที่ต้องการใส่ในแผ่นงานชื่อว่า รายชื่อนักเรียน จำนวน 50 คน (ท่านสามารถกำหนดรายชื่อด้วยตัวท่านเอง)
2.2 นำข้อมูลไปใส่ใน แผ่น 1 หรือคอลัมน์ที่จัดเตรียมไว้ก่อนหน้านี้ โดยการพิมพ์คำสั่งในเซลล์ A2 ว่า =JOIN("",'รายชื่อนักเรียน'!A2,"@web1.dara.ac.th") นี่คือวิธีการสร้าง email ให้กับนักเรียนแบบง่ายๆ โดยใช้รหัสนักเรียนบวกกับโดนเมนอีเมล์
2.2 เซลล์ B2 พิมพ์ว่า ='รายชื่อนักเรียน'!C2
2.3 เซลล์ C2 พิมพ์ว่า ='รายชื่อนักเรียน'!D2
2.4 ลากสูตรลงมาถึงนักเรียนคนสุดท้าย จนชื่อนักเรียนครบทุกคน
2.4 OU ให้ใส่ว่า /sci01 หมายถึงห้องวิทย์ 01 กด Ctrl แล้วลาก copy ลงมาจนถึงนักเรียนคนสุดท้าย
2.5 รหัสผ่านสมมติว่าใช้ 12345678 เหมือนกันหมด
ขั้นตอนที่ 3 เพิ่มหน่วยงานใน Google Admin
3.1 ไปยัง Google Admin เลือกจัดการหน่วยขององค์กร และสร้างหน่วยชื่อว่า sci01 ตามที่กำหนดไว้ใน Sheet ข้างต้น
ขั้นตอนที่ 4 เขียนสคริปต์ใน Google Sheets ให้เพิ่ม Email
4.1 เปิดโปรแกรมเขียนสคริปต์ ใน Google Sheets
4.2 ตั้งชื่อโครงการว่า Add Email
4.3 พิมพ์สคริปต์ดังต่อไปนี้
function addemail() {
var sheet = SpreadsheetApp.getActiveSheet();
var firstRow = 2;
var lastRow = sheet.getLastRow();
for (i=firstRow; i<=lastRow; i++) {
if (sheet.getRange(i,6).getValue() == ''){
var email = sheet.getRange(i, 1).getValue();
var firstname = sheet.getRange(i, 2).getValue();
var lastname = sheet.getRange(i, 3).getValue();
var ou = sheet.getRange(i, 4).getValue();
var password = sheet.getRange(i, 5).getValue();
var user = {
primaryEmail: email,
name:{givenName: firstname, familyName: lastname},
password: password,
orgUnitPath: ou
};
user = AdminDirectory.Users.insert(user);
var timestamp = new Date();
sheet.getRange(i, 6).setValue(timestamp);
}
}
}
สคริปต์จะทำการเพิ่มทีละ row จากนั้นก็จะเขียน status เป็นวันที่ไว้ว่าเพิ่มไปแล้ววันไหน หากเพิ่มไปแล้วจะไม่ทำการเพิ่มซ้ำ
4.5 เพิ่มสคริปต์สร้างเมนูต่อท้ายเข้าไป ทำให้เรียกใช้งานสคริปต์ง่ายขึ้น
//create menu
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('add Email')
.addItem('add', 'addemail')
.addToUi();
}
4.6 รันสคริปต์ function onOpen ก่อนเพื่อให้มีเมนูเกิดขึ้นมา ที่ Google Sheets
4.7 เปิดบริการขั้นสูง.... AdminDirector เพื่อให้ออกคำสั่งใน Google Admin ได้
4.8 รันสคริปต์ addemail ได้เลย แต่มันจะถามให้อนุญาตก่อน ก็อนุญาตให้หมดไปครับ
เมื่ออนุญาตเสร็จแล้ว กดรันสคริปต์ addemail อีกครั้ง
ขั้นตอนที่ 5 ตรวจสอบความถูกต้อง
5.1 เมื่อรันสคริปต์สังเกตว่าจะมีวันที่เกิดขึ้นที่ status แสดงว่านักเรียนคนนั้นได้ทำทำการเพิ่มอีเมล์เรียบร้อยแล้ว หาไม่มีวันที่แสดงว่ายังไม่มีการเพิ่ม ให้กับไปรันใหม่ หรือตรวจเช็คว่าเกิดปัญหาอะไรขึ้น อาจมีอีเมล์นักเรียนนี้อยู่แล้วก็ได้
5.2 หลังจากรันสคริปต์เสร็จแล้ว ให้ไปตรวจเช็คที่ Google Admin ว่ามีนักเรียนครบหรือไม่
โฆษณา