คู่มือนี้อธิบายวิธีที่ผู้ดูแลระบบ Google Workspace สามารถใช้วิธี
search() ในทรัพยากร
Space ของ
Google Chat API ด้วยสิทธิ์ของผู้ดูแลระบบ (useAdminAccess=true) เพื่อจัดการ
พื้นที่ทำงานที่มีชื่อในองค์กรและทำงานของผู้ดูแลระบบ
ในฐานะผู้ดูแลระบบ Google Workspace คุณจะใช้ Chat API
เพื่อจัดการพื้นที่ทำงานที่มีชื่อเท่านั้น ซึ่งกำหนดเป็น
SpaceType ของ
SPACE พื้นที่ทำงานที่มีชื่อเป็นพื้นที่ถาวรที่ผู้คนส่งข้อความ แชร์ไฟล์ และทำงานร่วมกัน คุณไม่สามารถใช้ Chat API เพื่อจัดการข้อความส่วนตัว (DM) หรือแชทเป็นกลุ่มได้
ทรัพยากร
Space
แสดงถึงพื้นที่ที่ผู้คนและแอป Chat สามารถส่งข้อความ
แชร์ไฟล์ และทำงานร่วมกันได้ พื้นที่ทำงานมีหลายประเภท ดังนี้
- ข้อความส่วนตัว (DM) คือการสนทนาระหว่างผู้ใช้ 2 คน หรือระหว่างผู้ใช้กับแอป Chat
- แชทเป็นกลุ่มคือการสนทนาระหว่างผู้ใช้ 3 คนขึ้นไปกับแอป Chat
- พื้นที่ทำงานที่มีชื่อเป็นพื้นที่ถาวรที่ผู้คนส่งข้อความ แชร์ไฟล์ และทำงานร่วมกัน
ในฐานะผู้ดูแลระบบ Google Workspace คุณสามารถใช้ Chat API เพื่อค้นหาและจัดการพื้นที่ทำงานที่มีชื่อในองค์กรได้ด้วยวิธีต่อไปนี้
- ตรวจสอบพื้นที่ทำงานในองค์กร การใช้วิธี
search()จะช่วยให้คุณดึงข้อมูลรายการพื้นที่ทำงานทั้งหมดในองค์กรพร้อมข้อมูลโดยละเอียดเกี่ยวกับการตั้งค่าและข้อมูลเมตาของแต่ละพื้นที่ทำงาน เช่น วันที่สร้าง วันที่ใช้งานล่าสุด จำนวนสมาชิก สถานะการตั้งค่าประวัติ และความสามารถในการเชิญแขกภายนอก - ค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งาน การใช้วิธี
search()จะช่วยให้คุณค้นหาพื้นที่ทำงานที่ไม่ได้ใช้งานตั้งแต่วันที่และเวลาที่ระบุ แล้วลบพื้นที่ทำงานเหล่านั้นได้ ดูรายละเอียดเพิ่มเติมและ โค้ดตัวอย่างได้ที่ค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งาน - ส่งออกรายการพื้นที่ทำงานตามเกณฑ์การค้นหา การใช้วิธี
search()จะช่วยให้คุณดึงข้อมูลรายการพื้นที่ทำงานที่ตรงตามเกณฑ์ที่ระบุในqueryและส่งออกผลลัพธ์ไปยังไฟล์ CSV เพื่อทำการวิเคราะห์ได้ - ค้นหาและติดต่อผู้จัดการพื้นที่ทำงาน การใช้วิธี
search()จะช่วยให้คุณดึงข้อมูลรายการพื้นที่ทำงานทั้งหมดในองค์กร จากนั้นใช้วิธีmembers.list()เพื่อดึงข้อมูลรายการสมาชิกทั้งหมดในพื้นที่ทำงานที่เป็นผู้จัดการ - ค้นหาพื้นที่ทำงานที่ไม่มีผู้จัดการที่กำหนด การใช้วิธี
search()จะช่วยให้คุณดึงข้อมูลรายการพื้นที่ทำงานทั้งหมดในองค์กร จากนั้นใช้วิธีmembers.list()เพื่อดึงข้อมูลรายการพื้นที่ทำงานที่ไม่มีผู้จัดการ
ข้อกำหนดเบื้องต้น
Python
- บัญชี Google Workspace Business หรือ Enterprise ที่มีสิทธิ์เข้าถึง Google Chat
- ตั้งค่าสภาพแวดล้อม
- สร้างโปรเจ็กต์ Google Cloud
- กำหนดค่าหน้าจอขอความยินยอม OAuth
- เปิดใช้และกำหนดค่า Google Chat API ด้วยชื่อ ไอคอน และคำอธิบายสำหรับแอป Chat
- ติดตั้งไลบรารีของไคลเอ็นต์ Google API สำหรับ Python.
-
สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth สำหรับแอปพลิเคชันบนเดสก์ท็อป หากต้องการเรียกใช้ตัวอย่างใน
คู่มือนี้ ให้บันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.jsonใน ไดเรกทอรีภายในเครื่อง
- เลือกขอบเขตการให้สิทธิ์ที่รองรับการตรวจสอบสิทธิ์ผู้ใช้
เรียกใช้ Google Chat API ในฐานะผู้ดูแลระบบ
หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ที่มี สิทธิ์ของผู้ดูแลระบบ, คุณต้องส่งข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์ ที่รองรับการใช้การตรวจสอบสิทธิ์ผู้ใช้ด้วยสิทธิ์ของผู้ดูแลระบบ
- ตั้งค่าช่อง
useAdminAccessเป็นtrue
ส่วนนี้แสดงตัวอย่างการเรียกใช้ Chat API ในฐานะผู้ดูแลระบบ ดังนี้
- ค้นหาพื้นที่ทำงาน โดยเรียกใช้วิธี
search() - ค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งานใน
องค์กรโดยเรียกใช้วิธี
search()เพื่อ แสดงรายการพื้นที่ทำงานที่ไม่ได้ใช้งาน จากนั้นเรียกใช้delete()เพื่อลบพื้นที่ทำงานเหล่านั้น
ค้นหาพื้นที่ทำงานทั่วทั้งองค์กร
ตัวอย่างนี้อธิบายวิธีที่ผู้ดูแลระบบ Google Workspace สามารถใช้วิธี search() ในทรัพยากร Space ของ Chat API เพื่อค้นหาพื้นที่ทำงานทั่วทั้งองค์กรตามเกณฑ์ที่ระบุ
หากต้องการเรียกใช้วิธี search() ด้วย
การตรวจสอบสิทธิ์ผู้ใช้ และ
สิทธิ์ของผู้ดูแลระบบ,
คุณต้องระบุข้อมูลต่อไปนี้ในคำขอ
- ระบุ
chat.admin.spacesหรือchat.admin.spaces.readonlyขอบเขตการให้สิทธิ์ - ระบุ
useAdminAccess=true - ระบุพารามิเตอร์
queryในการค้นหาเพื่อกรองผลลัพธ์:customer = "customers/my_customer"- ต้องระบุและค่าที่รองรับเพียงค่าเดียวคือcustomers/my_customerspaceType = "SPACE"- ต้องระบุและค่าที่รองรับเพียงค่าเดียวคือSPACE- ไม่บังคับ: คำค้นหาเพิ่มเติมอย่างน้อย 1 รายการเพื่อกรองการค้นหาพื้นที่ทำงานเพิ่มเติม เช่น คำหลักในชื่อที่แสดง (
displayName) วันที่สร้าง (createTime) หรือตามกิจกรรมในพื้นที่ทำงาน (lastActiveTime)
โค้ดต่อไปนี้แสดงตัวอย่างวิธีใช้สิทธิ์ของผู้ดูแลระบบเพื่อค้นหาพื้นที่ทำงานที่มีชื่อที่แสดงซึ่งมีคำว่า "Hello" และ "World" ในการผสมคำใดก็ได้
Python
- สร้างไฟล์ชื่อ
search_spaces_for_hello_world.pyในไดเรกทอรีงาน ใส่โค้ดต่อไปนี้ใน
search_spaces_for_hello_world.pyfrom google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', ] def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer"' 'AND spaceType = "SPACE"' 'AND displayName:"Hello World"' ) pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No spaces found named Hello World.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' spaces found:') # Prints the list of spaces. print(spaces)สร้างและเรียกใช้ตัวอย่างในไดเรกทอรีงาน
python3 search_spaces_for_hello_world.py
ค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งาน
ตัวอย่างนี้อธิบายวิธีที่ผู้ดูแลระบบ Google Workspace สามารถใช้วิธี search() ในทรัพยากร Space ของ Chat API เพื่อค้นหาพื้นที่ทำงานที่ไม่ได้ใช้งาน จากนั้นลบพื้นที่ทำงานเหล่านั้นโดยใช้วิธี delete() ที่มีพารามิเตอร์ useAdminAccess
พื้นที่ทำงาน Google Chat ที่ไม่ได้ใช้งาน ซึ่งไม่ได้ใช้งานอีกต่อไป อาจใช้พื้นที่เก็บข้อมูลที่มีค่าและทำให้อินเทอร์เฟซผู้ใช้ดูรก การใช้วิธี search() จะช่วยให้ผู้ดูแลระบบค้นหาพื้นที่ทำงานที่ไม่ได้ใช้งานตั้งแต่วันที่และเวลาที่ระบุ เช่น 2 เดือนที่ผ่านมา หลังจากแสดงรายการพื้นที่ทำงานแล้ว ผู้ดูแลระบบจะดำเนินการกับพื้นที่ทำงานเหล่านั้นได้ เช่น อัปเดตหรือลบ
หากต้องการค้นหารายการพื้นที่ทำงานที่ไม่ได้ใช้งานแล้วลบพื้นที่ทำงานเหล่านั้นด้วย การตรวจสอบสิทธิ์ผู้ใช้และ สิทธิ์ของผู้ดูแลระบบ, ให้ส่งข้อมูลต่อไปนี้ในคำขอ
- หากต้องการค้นหาพื้นที่ทำงานที่ไม่ได้ใช้งาน ให้ระบุข้อมูลต่อไปนี้
- ระบุ
chat.admin.spacesหรือchat.admin.spaces.readonlyขอบเขตการให้สิทธิ์ - เรียกใช้วิธี
search()ในทรัพยากรSpaces - ตั้งค่า
INACTIVE_SPACE_DEADLINEเป็นวันที่และเวลาของกิจกรรมล่าสุดที่จะกำหนดพื้นที่ทำงานที่จะแสดง - ระบุ
useAdminAccess=true - ระบุพารามิเตอร์
queryในการค้นหาเพื่อกรองผลลัพธ์:customer = "customers/my_customer"- ต้องระบุและค่าที่รองรับเพียงค่าเดียวคือcustomers/my_customerspaceType = "SPACE"- ต้องระบุและค่าที่รองรับเพียงค่าเดียวคือSPACElastActiveTime- หากต้องการกรองคำขอให้แสดงเฉพาะพื้นที่ทำงานที่ไม่ได้ใช้งาน ให้ระบุlastActiveTime
- ระบุ
- หากต้องการลบพื้นที่ทำงานที่ไม่ได้ใช้งานออกจากผลการค้นหา ให้ระบุข้อมูลต่อไปนี้
- ระบุขอบเขตการให้สิทธิ์
chat.admin.delete - เรียกใช้วิธี
delete()ในทรัพยากรSpaces - ระบุ
useAdminAccess=true
- ระบุขอบเขตการให้สิทธิ์
โค้ดต่อไปนี้แสดงตัวอย่างวิธีค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งานโดยใช้สิทธิ์ของผู้ดูแลระบบ
Python
สร้างไฟล์ชื่อ
find_and_delete_inactive_spaces.pyในไดเรกทอรีงานใส่โค้ดต่อไปนี้ใน
find_and_delete_inactive_spaces.pyfrom google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', 'https://www.googleapis.com/auth/chat.admin.delete', ] # Any spaces that have not been active since this time will be deleted. INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"' def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all inactive spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer" AND spaceType = "SPACE" AND' ' lastActiveTime < ' ) + INACTIVE_SPACE_DEADLINE, pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No inactive spaces found.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' inactive spaces found:') # Prints the list of inactive spaces. print(spaces) # Delete all inactive spaces. for space in spaces: ( chat.spaces() .delete( useAdminAccess=True, name=space['name'], ) .execute() ) print( 'Deleted space: ' + space['displayName'] + ', Resource Name: ' + space['name'] ) if __name__ == '__main__': main()ในโค้ด ให้แทนที่
INACTIVE_DATEด้วยวันที่และเวลาในรูปแบบ YYYY-MM-DDTHH:MM:SS+HH:MM เช่น "2024-06-01T00:00:00+00:00"สร้างและเรียกใช้ตัวอย่างในไดเรกทอรีงาน
python3 find_and_delete_inactive_spaces.py
หัวข้อที่เกี่ยวข้อง
- ค้นหาพื้นที่ทำงาน
- ลบพื้นที่ทำงาน
- แสดงรายการสมาชิกในพื้นที่ทำงาน
- จัดการพื้นที่ทำงาน Chat ในฐานะผู้ดูแลระบบ Google Workspace
spaces.search()วิธี