การจัดการ Account บน Google โดยใช้ Google Sheet และ Script Editor Tool โดยปกติการ Add Account จำนวนมากไปบน Google มีวิธีการทำได้หลายวิธี แต่วิธีที่ง่ายและสะดวกสำหรับผู้ดูแล คือการใช้ Google Sheet และใช้ Tool->Script Editor ซึ่งเป็นเมนูหนึงอยู่ใน Google Sheet ขั้นตอนการทำคือ

  1. เราจะต้องมี Google Sheet ที่มี Column สำหรับ Add Account เข้าไปยังโดเมน Google โดยเตรียม Account ไว้ในใน Sheet ดังนี้
  2. ให้กดที่เมนู Tools ด้านบน และเลือก Script Editor
  3. ใส่ Script สำหรับสร้าง Account ลงไป
    ตัวอย่างโค้ดด้านล่างสามารถ copy ได้

    function actions_addAccount() {
      var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxx/edit#gid=0');
      SpreadsheetApp.setActiveSpreadsheet(ss);
      var sheet = SpreadsheetApp.setActiveSheet(ss.getSheetByName("2560"));
      var start = sheet.getRange(2, 1).getValue();
      var firstRow = start + 1;
      var lastRow = start + 1785;
      for(i=firstRow ; i<=lastRow ; i++){
        if(sheet.getRange(i, 7).getValue() == ''){
          var account = 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 email = sheet.getRange(i, 5).getValue();
          var password = sheet.getRange(i, 6).getValue();
          var user = {
            primaryEmail: email,
            name: {
              givenName: firstname,
              familyName: lastname
            },
            password: password,
            orgUnitPath : ou
          };
          //set the user to change password on next login
          //user.changePasswordAtNextLogin = true;
          user = AdminDirectory.Users.insert(user);
          //user = AdminDirectory.Users.remove(email);
          var timestamp = new Date();
          sheet.getRange(i, 7).setValue(timestamp);
          sheet.getRange(2, 1).setValue(i);
        }
      }
    }
    

     

  4. ต้องเปิด Permission และการใช้งาน Google Service ด้วยโดยทำดังนี้
    เลือก Resources->Advanced Google Service ดังภาพ
    หลังจากนั้นจะพบหน้า Add Google Service
    ระบบจะพามาหน้า ไลบรารี่ทำการค้นหา Admin SDK และเปิดใช้งานตามภาพด้านล่าง

  5. หลังจากเปิดสิทธิแล้ว ให้กด OK และพร้อมรัน Script ให้ทดสอบ Run Script จากปุ่ม Play หรือเลือกที่เมนู Run แล้วเลือกฟังชั่นหรือชื่อสคริปที่ต้องการได้เลย



  6. หลังจากนั้น Script จะเริ่มทำงาน เมื่อ Add Account เสร็จจะมีการอัพเดทวันที่ใน Sheet ที่สร้างด้วย
    การ Run Script ทาง Google กำหนด Maximum Time ไว้ที่ 5 นาที ( จะพบ Error : Exceeded maximum execution time) ทำให้ถ้าเกิดมีการ Add Account จำนวนมากมันจะหยุดการทำงานและใน Sheet เมือทำถึงคนไหนมันจะไม่อัพเดทว่าทำเสร็จแล้ว จึงเกิด Error ว่าสร้างซ้ำ วิธีการแก้ปัญหานี้คือสร้าง Trigger ใน Script Editor ที่เป็นรูปไอคอนเวลาขึ้นมาเพื่อให้มัน Run ต่อเนื่อง ดังภาพด้านล่าง

หมายเหตุ ในการใช้ Admin SDK เพื่อทำการเพิ่มหรือลบ Account สิ่งที่ต้องดูคือ User Google ที่ Login เข้าใช้งาน Google Sheet อยู่ในขณะที่ Run Script มีสิทธิในการ Add, Delete User Account หรือไม่ เพราะถ้าไม่มีสิทธิเมื่อ Run Script มันจะแจ้งว่าต้องการสิทธิในการจัดการด้วย ดังภาพ

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.