ผู้ใช้จะใช้เครื่องมือเชื่อมต่อชุมชนเพื่อสร้างแหล่งข้อมูลของตนเอง สำหรับแหล่งข้อมูลเหล่านี้ เครื่องมือเชื่อมต่อของคุณจะเข้าถึงข้อมูลประจำตัวของผู้ใช้ที่มีประสิทธิภาพได้ ผู้ใช้ที่มีประสิทธิภาพอาจเป็นผู้สร้างแหล่งข้อมูล (ข้อมูลเข้าสู่ระบบของเจ้าของ) หรือผู้ดูรายงาน (ข้อมูลเข้าสู่ระบบของผู้ดู) ก็ได้ ทั้งนี้ขึ้นอยู่กับข้อมูลเข้าสู่ระบบของแหล่งข้อมูล
ข้อดี
- คุณสามารถเข้าถึงบริการและ API ของ Google ในนามของผู้ใช้ได้
- คุณสามารถใช้การควบคุมการเข้าถึงที่กำหนดเองเพื่อให้มั่นใจว่าระบบจะแสดงเฉพาะข้อมูลที่เกี่ยวข้องเท่านั้น
- คุณปรับแต่งประสบการณ์ของผู้ใช้ให้เหมาะกับผู้ใช้ได้
ขั้นตอนการใช้งาน
การเข้าถึงโทเค็น OAuth ของผู้ใช้
เครื่องมือเชื่อมต่อของคุณสามารถเข้าถึงบริการและ API ของ Google ในนามของผู้ใช้โดยการส่งโทเค็น OAuth ของผู้ใช้ หากต้องการเข้าถึงโทเค็น OAuth ของผู้ใช้ที่มีประสิทธิภาพใน
เครื่องมือเชื่อมต่อของคุณ ให้ใช้ ScriptApp.getOAuthToken()
โปรดดูที่ข้อมูลอ้างอิง getOAuthToken
โทเค็นนี้จะรวมขอบเขตการให้สิทธิ์ที่อยู่ในระหว่างการให้สิทธิ์เครื่องมือเชื่อมต่อ
สำหรับเครื่องมือเชื่อมต่อส่วนใหญ่ Apps Script จะตรวจหาขอบเขตที่จำเป็นโดยอัตโนมัติด้วยการแยกวิเคราะห์และประมวลผลสคริปต์ คุณจะดูขอบเขตที่เครื่องมือเชื่อมต่อใช้ได้ทุกเมื่อ นอกจากนี้คุณยังตั้งขอบเขตอย่างชัดแจ้งในไฟล์ Manifest ได้โดยใช้สตริง URL หากต้องการเข้าถึงบริการหรือ API ของ Google ในนามของผู้ใช้ ให้ใส่ขอบเขตที่เกี่ยวข้องในไฟล์ Manifest
การเข้าถึงที่อยู่อีเมลของผู้ใช้
คุณสามารถระบุผู้ใช้ที่มีประสิทธิภาพในปัจจุบันได้ด้วย Session.getEffectiveUser().getEmail()
ในโค้ด โปรดดูข้อมูลอ้างอิง getEffectiveUser
การเพิ่มโค้ดนี้จะเพิ่มขอบเขตการให้สิทธิ์ https://www.googleapis.com/auth/userinfo.email
ลงในเครื่องมือเชื่อมต่อของคุณโดยอัตโนมัติ
ตัวอย่าง: การเรียกใช้ Google API ด้วยโทเค็น OAuth ของผู้ใช้
- เครื่องมือเชื่อมต่อ Google Fit จะดึงข้อมูลจาก Google Fit API สำหรับผู้ใช้ที่มีประสิทธิภาพ ขณะเรียกใช้ API รหัสจะส่งผ่านโทเค็น OAuth ของผู้ใช้ที่มีประสิทธิภาพ ดูรายละเอียดการใช้งานได้ที่ซอร์สโค้ด
- เครื่องมือเชื่อมต่อ Firestore ใช้ Cloud Resource Manager เพื่อรับรายการโปรเจ็กต์สำหรับผู้ใช้ที่มีประสิทธิภาพ เครื่องมือเชื่อมต่อนี้จะส่งโทเค็น OAuth ของผู้ใช้ที่มีประสิทธิภาพด้วย ดูซอร์สโค้ดสำหรับรายละเอียดการใช้งาน
ตัวอย่าง: isAdminUser()
ตามอีเมล
- เครื่องมือเชื่อมต่อ UX ของ Chrome จะเก็บรายชื่อผู้ใช้ที่ดูแลระบบไว้ โดยใช้
getEffectiveUser()
และเปรียบเทียบผู้ใช้ที่มีประสิทธิภาพกับรายการเพื่อตัดสินว่าผู้ใช้ที่มีประสิทธิภาพเป็นผู้ดูแลระบบหรือไม่ ดูการใช้งานgetEffectiveUser