คู่มือนี้อธิบายวิธีที่ผู้ดูแลระบบ Google Workspace สามารถใช้search()
เมธอดในSpace
ทรัพยากรของ Google Chat API เพื่อจัดการพื้นที่ทำงานที่มีชื่อทั่วทั้งองค์กรและดำเนินงานด้านการดูแลระบบ
ในฐานะผู้ดูแลระบบ 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 สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
- ตั้งค่าสภาพแวดล้อม โดยทำดังนี้
- สร้างโปรเจ็กต์ Google Cloud
- กำหนดค่าหน้าจอขอความยินยอม OAuth
- เปิดใช้และกำหนดค่า Google Chat API พร้อมชื่อ ไอคอน และคำอธิบายสำหรับแอป Chat
- ติดตั้ง Python ไลบรารีของไคลเอ็นต์ Google API
-
สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth สำหรับแอปพลิเคชันบนเดสก์ท็อป หากต้องการเรียกใช้ตัวอย่างในคำแนะนำนี้
ให้บันทึกข้อมูลเข้าสู่ระบบเป็นไฟล์ JSON ชื่อ
credentials.json
ใน ไดเรกทอรีในเครื่อง
- เลือกขอบเขตการให้สิทธิ์ที่รองรับการตรวจสอบสิทธิ์ผู้ใช้
เรียกใช้ Google Chat API ในฐานะผู้ดูแลระบบ
หากต้องการตรวจสอบสิทธิ์ในฐานะผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบ คุณต้องส่งข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์ ที่รองรับการใช้การตรวจสอบสิทธิ์ผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบ
- ตั้งค่าฟิลด์
useAdminAccess
เป็นtrue
ส่วนนี้จะแสดงตัวอย่างการเรียกใช้ Chat API ในฐานะผู้ดูแลระบบดังนี้
- ค้นหาพื้นที่ทำงานโดยเรียกใช้เมธอด
search()
- ค้นหาและลบพื้นที่ทำงานที่ไม่ได้ใช้งานในองค์กรโดยเรียกใช้เมธอด
search()
เพื่อแสดงรายการพื้นที่ทำงานที่ไม่ได้ใช้งาน จากนั้นเรียกใช้เมธอดdelete()
เพื่อลบพื้นที่ทำงานเหล่านั้น
ค้นหาพื้นที่ทำงานทั่วทั้งองค์กร
ตัวอย่างนี้อธิบายวิธีที่ผู้ดูแลระบบ Google Workspace ใช้
search()
method ในSpace
resource ของ Chat API เพื่อค้นหา
พื้นที่ในองค์กรตามเกณฑ์ที่ระบุ
หากต้องการเรียกใช้เมธอด search()
โดยใช้
การตรวจสอบสิทธิ์ผู้ใช้และ
สิทธิ์ระดับผู้ดูแลระบบ
คุณต้องระบุข้อมูลต่อไปนี้ในคำขอ
- ระบุขอบเขตการให้สิทธิ์
chat.admin.spaces
หรือchat.admin.spaces.readonly
- ระบุ
useAdminAccess=true
- ระบุพารามิเตอร์การค้นหา
query
เพื่อกรองผลลัพธ์ ดังนี้customer = "customers/my_customer"
- จำเป็นและค่าที่รองรับเพียงค่าเดียวคือcustomers/my_customer
spaceType = "SPACE"
- จำเป็นและค่าที่รองรับเพียงค่าเดียวคือSPACE
- ไม่บังคับ: คำค้นหาเพิ่มเติมอย่างน้อย 1 รายการเพื่อกรองการค้นหาพื้นที่ทำงานเพิ่มเติม เช่น คีย์เวิร์ดในชื่อที่แสดง (
displayName
) วันที่สร้าง (createTime
) หรืออิงตามกิจกรรมในพื้นที่ทำงาน (lastActiveTime
)
โค้ดต่อไปนี้แสดงตัวอย่างวิธีใช้สิทธิ์ของผู้ดูแลระบบเพื่อ ค้นหาพื้นที่ทำงานที่มีชื่อที่แสดงซึ่งมีคำว่า "Hello" และ "World" ใน การผสมผสานใดก็ได้
Python
- สร้างไฟล์ชื่อ
search_spaces_for_hello_world.py
ในไดเรกทอรีการทำงาน ใส่โค้ดต่อไปนี้ใน
search_spaces_for_hello_world.py
from 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_customer
spaceType = "SPACE"
- จำเป็นและค่าที่รองรับเพียงค่าเดียวคือSPACE
lastActiveTime
- หากต้องการกรองคำขอให้แสดงเฉพาะพื้นที่ทำงานที่ไม่ได้ใช้งาน ให้ระบุlastActiveTime
- ระบุขอบเขตการให้สิทธิ์
- หากต้องการลบพื้นที่ทำงานที่ไม่มีการใช้งานออกจากผลการค้นหา ให้ระบุข้อมูลต่อไปนี้
- ระบุ
chat.admin.delete
ขอบเขตการให้สิทธิ์ - เรียกใช้เมธอด
delete()
ในทรัพยากรSpaces
- ระบุ
useAdminAccess=true
- ระบุ
โค้ดต่อไปนี้แสดงตัวอย่างวิธีค้นหาพื้นที่ที่ไม่มีการใช้งานและลบพื้นที่เหล่านั้นโดยใช้สิทธิ์ของผู้ดูแลระบบ
Python
สร้างไฟล์ชื่อ
find_and_delete_inactive_spaces.py
ในไดเรกทอรีการทำงานใส่โค้ดต่อไปนี้ใน
find_and_delete_inactive_spaces.py
from 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()
เมธอด