ระบบจะใช้ข้อมูลเข้าสู่ระบบเพื่อรับโทเค็นเพื่อการเข้าถึงจากเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อให้แอปของคุณเรียก Google Workspace API ได้ เอกสารนี้อธิบายวิธี เลือกและตั้งค่าข้อมูลเข้าสู่ระบบที่แอปของคุณต้องการ
เลือกข้อมูลเข้าสู่ระบบที่เหมาะกับคุณ
ข้อมูลเข้าสู่ระบบที่จำเป็นต้องใช้จะขึ้นอยู่กับประเภทของข้อมูล แพลตฟอร์ม และวิธีการเข้าถึง ของแอป โดยมีข้อมูลเข้าสู่ระบบ 3 ประเภทที่ใช้ได้ ดังนี้
| กรณีการใช้งาน | วิธีการตรวจสอบสิทธิ์ | เกี่ยวกับวิธีการตรวจสอบสิทธิ์นี้ |
|---|---|---|
| เข้าถึงข้อมูลที่เผยแพร่ต่อสาธารณะโดยไม่ระบุตัวตนในแอป | คีย์ API | ตรวจสอบว่า API ที่คุณต้องการใช้รองรับคีย์ API ก่อนที่จะใช้วิธีการตรวจสอบสิทธิ์นี้ |
| เข้าถึงข้อมูลผู้ใช้ เช่น อีเมลหรืออายุ | รหัสไคลเอ็นต์ OAuth | กำหนดให้แอปของคุณต้องขอและรับความยินยอมจากผู้ใช้ |
| เข้าถึงข้อมูลที่แอปของคุณเป็นเจ้าของ เอกสารที่แชร์ที่เฉพาะเจาะจง (เช่น Google ชีต) หรือเข้าถึงทรัพยากร Google Workspace ในนามของผู้ใช้ผ่าน การมอบสิทธิ์ทั่วทั้งโดเมน | บัญชีบริการ | เมื่อแอปตรวจสอบสิทธิ์ในฐานะบัญชีบริการ แอปจะมีสิทธิ์เข้าถึงทรัพยากรทั้งหมดที่บัญชีบริการมีสิทธิ์เข้าถึง |
ดูคำจำกัดความของคำศัพท์ที่พบในหน้านี้ได้ที่ภาพรวมของการตรวจสอบสิทธิ์และ การให้สิทธิ์
ข้อมูลเข้าสู่ระบบคีย์ API
คีย์ API คือสตริงยาวที่มีตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวเลข ขีดล่าง และขีดกลาง เช่น AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
วิธีการตรวจสอบสิทธิ์นี้ใช้เพื่อเข้าถึงข้อมูลที่เปิดเผยต่อสาธารณะโดยไม่ระบุตัวตน
เช่น ไฟล์ Google Workspace ที่แชร์โดยใช้การตั้งค่าการแชร์ "ทุกคนบน
อินเทอร์เน็ตที่มีลิงก์นี้" โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อจัดการคีย์ API
วิธีสร้างคีย์ API
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
- ระบบจะแสดงคีย์ API ใหม่
- คลิกคัดลอก เพื่อคัดลอกคีย์ API สำหรับใช้ ในโค้ดของแอป คุณยังดูคีย์ API ได้ในส่วน "คีย์ API" ของข้อมูลเข้าสู่ระบบของโปรเจ็กต์
- เราขอแนะนำให้จำกัดตำแหน่งและ API ที่ใช้คีย์ API ได้เพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต ดูรายละเอียดเพิ่มเติมได้ที่ เพิ่มการจำกัด API
ข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth
หากต้องการตรวจสอบสิทธิ์ผู้ใช้ปลายทางและเข้าถึงข้อมูลผู้ใช้ในแอป คุณต้อง สร้างรหัสไคลเอ็นต์ OAuth 2.0 อย่างน้อย 1 รายการ รหัสไคลเอ็นต์ใช้เพื่อระบุ แอปเดี่ยวไปยังเซิร์ฟเวอร์ OAuth ของ Google หากแอปทำงานบนหลายแพลตฟอร์ม คุณต้องสร้างรหัสไคลเอ็นต์แยกต่างหากสำหรับแต่ละแพลตฟอร์มเลือกประเภทแอปพลิเคชัน เพื่อดูวิธีการสร้างรหัสไคลเอ็นต์ OAuth โดยเฉพาะ
เว็บแอปพลิเคชัน
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > เว็บแอปพลิเคชัน
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- เพิ่ม URI ที่ได้รับอนุญาตซึ่งเกี่ยวข้องกับแอปของคุณ
- แอปฝั่งไคลเอ็นต์ (JavaScript) - ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ที่จะใช้สำหรับคำขอของเบราว์เซอร์ ซึ่งจะระบุโดเมนที่แอปพลิเคชันของคุณสามารถส่งคำขอ API ไปยังเซิร์ฟเวอร์ OAuth 2.0 ได้
- แอปฝั่งเซิร์ฟเวอร์ (Java, Python และอื่นๆ) - ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ของปลายทางที่เซิร์ฟเวอร์ OAuth 2.0 สามารถส่งการตอบกลับได้
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0
โปรดทราบว่าระบบจะไม่ใช้รหัสลับไคลเอ็นต์กับเว็บแอปพลิเคชัน
Android
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > Android
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องชื่อแพ็กเกจ ให้ป้อนชื่อแพ็กเกจจากไฟล์
AndroidManifest.xml - ในช่องลายนิ้วมือของใบรับรอง SHA-1 ให้ป้อนลายนิ้วมือของใบรับรอง SHA-1 ที่สร้างขึ้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
iOS
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > iOS
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องรหัสชุด ให้ป้อนรหัสชุดซอฟต์แวร์ตามที่แสดงในไฟล์
Info.plistของแอป - ไม่บังคับ: หากแอปปรากฏใน Apple App Store ให้ป้อนรหัส App Store
- ไม่บังคับ: ในช่องรหัสทีม ให้ป้อนสตริงแบบ 10 อักขระที่ไม่ซ้ำกันซึ่งสร้างโดย Apple และกำหนดให้กับทีมของคุณ
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ส่วนขยาย Chrome
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ส่วนขยาย Chrome
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องรหัสสินค้า ให้ป้อนสตริงรหัส 32 อักขระที่ไม่ซ้ำกันของแอป คุณดูค่ารหัสนี้ได้ใน URL ของ Chrome เว็บสโตร์ของแอปและในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอปบนเดสก์ท็อป
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
TV และอุปกรณ์อินพุตที่จำกัด
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ทีวีและอุปกรณ์ที่มีการป้อนข้อมูลแบบจำกัด
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ข้อมูลเข้าสู่ระบบบัญชีบริการ
บัญชีบริการเป็นบัญชีชนิดพิเศษที่แอปพลิเคชันใช้ ไม่ใช่บุคคล คุณใช้บัญชีบริการเพื่อเข้าถึงข้อมูลหรือดำเนินการ โดยบัญชีหุ่นยนต์ หรือเพื่อเข้าถึงข้อมูลในนามของผู้ใช้ Google Workspace หรือ Cloud Identity ได้ ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของบัญชีบริการโปรดทราบว่าบทบาท Identity and Access Management (IAM) ที่กำหนดค่าไว้ใน Google Cloud Console ไม่มีสิทธิ์เข้าถึงชิ้นงานของ Google Workspace (เช่น ชีตหรือ Gmail) หากต้องการให้บัญชีบริการ เข้าถึงทรัพยากร Google Workspace ได้ คุณสามารถใช้สิ่งต่อไปนี้
| หากแอปของคุณต้องทำสิ่งต่อไปนี้ | วิธีกำหนดค่า |
|---|---|
| เข้าถึงไฟล์ที่เฉพาะเจาะจง (เช่น Google ชีต) | การแชร์เอกสารโดยตรงของไฟล์หรือโฟลเดอร์กับอีเมลของบัญชีบริการ |
| ดำเนินการดูแลระบบโดเมน (เช่น สร้างผู้ใช้ Google Workspace) | มอบหมายบทบาทผู้ดูแลระบบให้กับบัญชีบริการโดยตรง |
| เข้าถึงข้อมูลผู้ใช้ในโดเมน (เช่น อ่าน Gmail หรือกิจกรรมใน Google ปฏิทินของผู้ใช้) | ให้สิทธิ์บัญชีบริการเพื่อใช้การมอบสิทธิ์ทั่วทั้งโดเมน |
สร้างบัญชีบริการ
คุณสร้างบัญชีบริการได้โดยใช้คอนโซล Google Cloud หรือ
gcloud เครื่องมือบรรทัดคำสั่ง
Google Cloud Console
-
ในคอนโซล Google Cloud ให้ไปที่เมนู
> IAM และผู้ดูแลระบบ
> บัญชีบริการ
ขั้นตอนที่เหลือจะปรากฏในคอนโซล Google Cloud
- เลือกโปรเจ็กต์ที่อยู่ใน Google Cloud
- คลิกสร้างบัญชีบริการ
- ป้อนชื่อบัญชีบริการเพื่อแสดงในคอนโซล Google Cloud
- หากไม่ต้องการตั้งค่าการควบคุมการเข้าถึงในตอนนี้ ให้คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จ หากต้องการตั้งค่าการควบคุมการเข้าถึงตอนนี้ ให้คลิกสร้างและดำเนินการต่อ แล้วไปที่ขั้นตอนถัดไป
- ไม่บังคับ: มอบหมายบทบาทให้กับบัญชีบริการเพื่อให้สิทธิ์เข้าถึงทรัพยากรของโปรเจ็กต์ Google Cloud นอกเหนือจากทรัพยากร Google Workspace โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อจัดการการเข้าถึงโปรเจ็กต์ โฟลเดอร์ และองค์กร
- คลิกต่อไป
- ไม่บังคับ: ป้อนผู้ใช้หรือกลุ่มที่จัดการและดำเนินการกับบัญชีบริการนี้ได้ โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการแอบอ้างเป็นบัญชีบริการ
- คลิกเสร็จสิ้นเพื่อสร้างบัญชีบริการให้เสร็จสมบูรณ์
จดอีเมลของบัญชีบริการไว้
gcloud CLI
- สร้างบัญชีบริการโดยทำดังนี้
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - ไม่บังคับ: มอบหมายบทบาทให้กับบัญชีบริการเพื่อให้สิทธิ์เข้าถึงทรัพยากรของโปรเจ็กต์ Google Cloud นอกเหนือจากทรัพยากร Google Workspace โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อจัดการการเข้าถึงโปรเจ็กต์ โฟลเดอร์ และองค์กร
เข้าถึงไฟล์ Google Workspace โดยตรงด้วยบัญชีบริการ
หากแอปของคุณจำเป็นต้องอ่านหรือเขียนไฟล์ที่เฉพาะเจาะจงเท่านั้น (เช่น Google ชีต หรือโฟลเดอร์ Google ไดรฟ์) คุณไม่จำเป็นต้องกำหนดบทบาทผู้ดูแลระบบหรือ กำหนดค่าการมอบสิทธิ์ระดับโดเมน แต่คุณสามารถแชร์ไฟล์แต่ละไฟล์กับอีเมลของบัญชีบริการได้โดยตรงโดยใช้ UI มาตรฐาน คุณสามารถ ถือว่าอีเมลของบัญชีบริการเป็นบัญชีผู้ใช้ในการตั้งค่าการแชร์ของเอกสาร โดยไม่ต้องมีสิทธิ์ระดับผู้ดูแลระบบ
วิธีให้สิทธิ์เข้าถึง
- คัดลอกอีเมลของบัญชีบริการ เช่น
my-service-account@my-project.iam.gserviceaccount.com - เปิดเอกสารชีตหรือโฟลเดอร์ไดรฟ์ที่ต้องการเข้าถึง
- คลิกแชร์
- เพิ่มอีเมลของบัญชีบริการและมอบหมายระดับการเข้าถึงที่เหมาะสม (เช่น ผู้แก้ไขหรือผู้ดู)
- ยกเลิกการเลือกแจ้งเตือนบุคคลอื่น (เนื่องจากบัญชีบริการไม่มีกล่องจดหมาย จึงไม่ได้รับอีเมลคำเชิญ แต่ระบบจะยังคงให้สิทธิ์)
- คลิกแชร์
สร้างคีย์บัญชีบริการ
คุณต้องขอรับข้อมูลเข้าสู่ระบบในรูปแบบคู่คีย์สาธารณะ/ส่วนตัว โค้ดของคุณใช้ข้อมูลเข้าสู่ระบบเหล่านี้เพื่อให้สิทธิ์การดำเนินการของบัญชีบริการภายในแอปวิธีสร้างคีย์ของบัญชีบริการ
-
ในคอนโซล Google Cloud ให้ไปที่เมนู
> IAM และผู้ดูแลระบบ
> บัญชีบริการ
ขั้นตอนที่เหลือจะปรากฏในคอนโซล Google Cloud
- เลือกโปรเจ็กต์ที่อยู่ใน Google Cloud
- คลิกอีเมลของบัญชีบริการที่คุณต้องการสร้างคีย์
- คลิกแท็บคีย์
- คลิกเมนูแบบเลื่อนลงเพิ่มคีย์ แล้วเลือกสร้างคีย์ใหม่
- เลือก JSON เป็นประเภทคีย์ แล้วคลิกสร้าง
ระบบจะสร้างคู่คีย์สาธารณะ/ส่วนตัวใหม่และดาวน์โหลดลงในเครื่องของคุณเป็นไฟล์คีย์บัญชีบริการ บันทึกไฟล์ JSON ที่ดาวน์โหลดเป็น
credentials.jsonในไดเรกทอรีการทำงาน ไฟล์นี้เป็นสำเนาเดียวของคีย์นี้ หลังจาก ดาวน์โหลดไฟล์คีย์แล้ว คุณจะดาวน์โหลดอีกครั้งไม่ได้ ดูข้อมูลเกี่ยวกับวิธีจัดเก็บคีย์อย่างปลอดภัยได้ที่แนวทางปฏิบัติแนะนำสำหรับการจัดการคีย์ของบัญชีบริการ
มอบหมายบทบาทผู้ดูแลระบบ Google Workspace ให้กับบัญชีบริการ
คุณสามารถมอบหมายบทบาท Google Workspace ที่สร้างไว้ล่วงหน้าหรือกำหนดเองให้กับบัญชีบริการได้ ยกเว้นบทบาทผู้ดูแลระบบขั้นสูง
ในคอนโซลผู้ดูแลระบบของ Google ให้ไปที่เมนู > บัญชี > บทบาทผู้ดูแลระบบ
คุณต้องลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบขั้นสูงสำหรับงานนี้
ขั้นตอนที่เหลือจะปรากฏในคอนโซลผู้ดูแลระบบของ Google
ชี้ไปที่บทบาทที่ต้องการมอบหมาย คลิกเมนูแบบเลื่อนลง
Actionsแล้วเลือกมอบหมายเป็นผู้ดูแลระบบคลิกมอบหมายบัญชีบริการ
ป้อนอีเมลของบัญชีบริการ
คลิกเพิ่ม > มอบหมายบทบาท
ไม่บังคับ: ตั้งค่าการมอบสิทธิ์ทั่วทั้งโดเมนสำหรับบัญชีบริการ
ใช้การมอบสิทธิ์ทั่วทั้งโดเมนเมื่อแอปพลิเคชันของคุณต้องเข้าถึงข้อมูล Google Workspace ในนาม ของผู้ใช้หลายรายในองค์กร (เช่น การส่งอีเมลโดยใช้ Gmail API) โดยไม่ต้องขอความยินยอมจากผู้ใช้แต่ละราย หากต้องการเรียกใช้ API ในนามของผู้ใช้ในองค์กร Google Workspace ให้มอบสิทธิ์การมอบสิทธิ์ทั่วทั้งโดเมนให้กับบัญชีบริการในคอนโซลผู้ดูแลระบบของ Google โดยใช้บัญชีผู้ดูแลระบบสูงสุด ดูข้อมูลเพิ่มเติมได้ที่ มอบสิทธิ์ระดับโดเมนให้กับบัญชีบริการวิธีกำหนดค่าการมอบสิทธิ์ทั่วทั้งโดเมนสำหรับบัญชีบริการมีดังนี้
- ในคอนโซล Google Cloud ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > บัญชีบริการ
- เลือกโปรเจ็กต์ที่อยู่ใน Google Cloud
- คลิกอีเมลของบัญชีบริการที่ต้องการตั้งค่าการมอบสิทธิ์ทั่วทั้งโดเมน
- คลิกแสดงการตั้งค่าขั้นสูง
- ในส่วน "การมอบสิทธิ์ทั่วทั้งโดเมน" ให้ค้นหา "รหัสไคลเอ็นต์" ของบัญชีบริการ
- คลิกคัดลอก เพื่อคัดลอกค่ารหัสไคลเอ็นต์ไปยังคลิปบอร์ด
หากคุณมีสิทธิ์เข้าถึงผู้ดูแลระบบขั้นสูง ในบัญชี Google Workspace ที่เกี่ยวข้อง ให้คลิก ดูคอนโซลผู้ดูแลระบบของ Google Workspace ลงชื่อเข้าใช้ด้วยบัญชีผู้ใช้ผู้ดูแลระบบขั้นสูง แล้วทำตามขั้นตอนเหล่านี้ต่อ
หากคุณไม่มีสิทธิ์เข้าถึงระดับผู้ดูแลระบบขั้นสูงในบัญชี Google Workspace ที่เกี่ยวข้อง โปรดติดต่อผู้ดูแลระบบขั้นสูงของบัญชี ส่ง Client ID ของบัญชีบริการ และรายการขอบเขต OAuth ที่แอปของคุณต้องการให้ผู้ดูแลระบบดำเนินการตามขั้นตอนต่อไปนี้ในคอนโซลผู้ดูแลระบบของ Google
- ในคอนโซลผู้ดูแลระบบของ Google ให้ไปที่เมนู > ความปลอดภัย > การเข้าถึงและการควบคุมข้อมูล > การควบคุม API
- คลิกจัดการการมอบสิทธิ์ทั่วทั้งโดเมน
- คลิกเพิ่มใหม่
- ในช่องรหัสไคลเอ็นต์ ให้วางรหัสไคลเอ็นต์ที่คัดลอกไว้ก่อนหน้านี้
- ในช่องขอบเขต OAuth ให้ป้อนรายการขอบเขตที่แอปของคุณต้องการโดยคั่นด้วยคอมมา ซึ่งเป็นชุดขอบเขตเดียวกันกับที่คุณกำหนดเมื่อกำหนดค่าหน้าจอขอความยินยอม OAuth
- คลิกให้สิทธิ์
การเปลี่ยนแปลงอาจใช้เวลาถึง 24 ชั่วโมง แต่โดยปกติจะใช้เวลาเร็วกว่านั้น ดูข้อมูลเพิ่มเติมได้ที่หัวข้อควบคุมการเข้าถึง API ด้วยการมอบสิทธิ์ทั่วทั้งโดเมน
ขั้นตอนถัดไป
คุณพร้อมที่จะพัฒนาแอปใน Google Workspace แล้ว ดูรายการ ผลิตภัณฑ์สำหรับนักพัฒนาแอป Google Workspace และวิธี รับความช่วยเหลือ