จัดการกลุ่ม

หน้านี้เกี่ยวข้องกับวิธีจัดการ Google Groups ด้วย Directory API

  • สร้างกลุ่ม
  • อัปเดตกลุ่ม
  • เพิ่มชื่อแทนของกลุ่ม
  • เรียกข้อมูลกลุ่ม
  • ดึงข้อมูลกลุ่มทั้งหมดสำหรับโดเมนหรือบัญชี
  • ดึงข้อมูลกลุ่มทั้งหมดของสมาชิก
  • เรียกข้อมูลชื่อแทนกลุ่มทั้งหมด
  • ลบชื่อแทนกลุ่ม
  • ลบกลุ่ม

สร้างกลุ่ม

หากต้องการสร้างกลุ่ม ให้ใช้คำขอ POST ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในการให้สิทธิ์คำขอ คุณสามารถสร้างกลุ่มสำหรับโดเมนใดก็ได้ที่เชื่อมโยงกับบัญชีดังกล่าว สำหรับพร็อพเพอร์ตี้สตริงการค้นหา คำขอ และการตอบกลับ โปรดดูเมธอด groups.insert

POST https://admin.googleapis.com/admin/directory/v1/groups

คำขอ JSON ต่อไปนี้แสดงตัวอย่างเนื้อหาคำขอที่สร้างกลุ่ม อีเมลของกลุ่มคือ sales_group@example.com

{
   "email": "sales_group@example.com",
   "name": "Sales Group",
   "description": "This is the Sales group."
}

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 และพร็อพเพอร์ตี้สำหรับกลุ่มใหม่

อัปเดตกลุ่ม

หากต้องการอัปเดตการตั้งค่าของกลุ่ม ให้ใช้คำขอ PUT ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอการให้สิทธิ์ groupKey คืออีเมลของกลุ่ม อีเมลแทนของกลุ่ม หรือ id ที่ไม่ซ้ำกันของกลุ่ม สำหรับพร็อพเพอร์ตี้สตริงการค้นหา คำขอ และการตอบกลับ โปรดดูเมธอด groups.update

PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey 

โดยทั่วไป Google ขอแนะนำว่าอย่าใช้อีเมลของกลุ่มเป็นคีย์สำหรับข้อมูลถาวร เนื่องจากอีเมลอาจมีการเปลี่ยนแปลง

ในตัวอย่างต่อไปนี้ groupKey ที่ไม่ซ้ำกันคือ nnn และชื่อกลุ่มคือ APAC Sales Group

PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{
    "email": "sales_group@example.com",
    "name": "APAC Sales Group"
}

สำหรับคำขออัปเดต คุณเพียงแค่ส่งข้อมูลที่อัปเดตในคำขอเท่านั้น คุณไม่จำเป็นต้องป้อนพร็อพเพอร์ตี้ทั้งหมดของกลุ่มในคำขอ

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 และพร็อพเพอร์ตี้สำหรับกลุ่มใหม่:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "sales_group@example.com",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "best_sales_group@example.com"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

เพิ่มชื่อแทนของกลุ่ม

หากต้องการเพิ่มชื่อแทนกลุ่ม ให้ใช้คำขอ POST ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในให้สิทธิ์คำขอ groupKey คืออีเมลของกลุ่ม อีเมลแทนของกลุ่ม หรือ id ที่ไม่ซ้ำกันของกลุ่ม สำหรับพร็อพเพอร์ตี้สตริงการค้นหา คำขอ และการตอบกลับ โปรดดูแหล่งข้อมูล groups

POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

โดยทั่วไป Google ขอแนะนำว่าอย่าใช้อีเมลของกลุ่มเป็นคีย์สำหรับข้อมูลถาวร เนื่องจากอีเมลอาจมีการเปลี่ยนแปลง

คำขอ JSON ต่อไปนี้แสดงตัวอย่างคำขอเพื่อสร้างชื่อแทนของกลุ่ม groupKey คือ id ที่ไม่ซ้ำกันของกลุ่มซึ่งแสดงโดย NNNN

POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{
    "alias": "best_sales_group@example.com"
}

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 และพร็อพเพอร์ตี้สำหรับชื่อแทนกลุ่มใหม่

เรียกข้อมูลกลุ่ม

หากต้องการเรียกข้อมูลกลุ่ม ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ตามที่อธิบายไว้ในให้สิทธิ์คำขอ groupKey คืออีเมลของกลุ่ม อีเมลแทนของกลุ่ม หรือ id ที่ไม่ซ้ำกันของกลุ่ม สำหรับพร็อพเพอร์ตี้สตริงการค้นหา คำขอ และการตอบกลับ โปรดดูเมธอด groups.get
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey

โดยทั่วไป Google ขอแนะนำว่าอย่าใช้อีเมลของกลุ่มเป็นคีย์สำหรับข้อมูลถาวร เนื่องจากอีเมลอาจมีการเปลี่ยนแปลง

ในตัวอย่างต่อไปนี้ รหัส groupKey ที่ไม่ซ้ำกันคือ nnnn

GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 และการตั้งค่าของกลุ่ม:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "sales_group@example.com",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "best_sales_group@example.com"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

ดึงข้อมูลกลุ่มทั้งหมดสำหรับโดเมนหรือบัญชี

หากต้องการเรียกข้อมูลกลุ่มทั้งหมดสำหรับโดเมนหรือบัญชีที่เจาะจง ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอให้สิทธิ์ สำหรับพร็อพเพอร์ตี้สตริงการค้นหา คำขอ และการตอบกลับ โปรดดูเมธอด groups.list ตัวอย่างนี้ใช้การขึ้นบรรทัดใหม่เพื่อช่วยให้อ่านง่ายขึ้น

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=domain name
&customer=my_customer or customerId&pageToken=pagination token
&maxResults=max results

เมื่อเรียกข้อมูลกลุ่มทั้งหมดสำหรับโดเมนหรือบัญชี ให้พิจารณาสิ่งต่อไปนี้

  • กลุ่มทั้งหมดสำหรับโดเมนย่อย: ใช้อาร์กิวเมนต์ domain กับชื่อโดเมน
  • กลุ่มทั้งหมดของบัญชี: ใช้อาร์กิวเมนต์ customer กับ my_customer หรือค่า customerId ของบัญชี ในฐานะผู้ดูแลระบบบัญชี ให้ใช้สตริง my_customer เพื่อแสดง customerId ของบัญชี หากคุณเป็นตัวแทนจำหน่ายที่เข้าถึงบัญชีของลูกค้าจากพาร์ทเนอร์ ให้ใช้ customerId ของบัญชีจากพาร์ทเนอร์ สำหรับค่า customerId ให้ใช้ชื่อโดเมนหลักของบัญชีในคำขอของการดำเนินการเรียกข้อมูลผู้ใช้ทั้งหมดในโดเมน คำตอบที่ได้จะมีค่า customerId
  • การใช้ทั้งอาร์กิวเมนต์ domain และ customer: Directory API จะแสดงผลกลุ่มทั้งหมดของ domain
  • ไม่ได้ใช้อาร์กิวเมนต์ domain และ customer: Directory API จะแสดงผลกลุ่มทั้งหมดของบัญชีที่เชื่อมโยงกับ my_customer บัญชีนี้เป็นบัญชี customerId ของผู้ดูแลระบบที่ส่งคำขอ
  • การใช้ทั้งอาร์กิวเมนต์ customer และ userKey: Directory API จะแสดงผลข้อผิดพลาด คุณต้องส่งคำขอ 2 รายการแยกกันด้วยอาร์กิวเมนต์เหล่านี้

ในตัวอย่างต่อไปนี้ ผู้ดูแลบัญชีใช้ my_customer เพื่อขอรายการกลุ่มทั้งหมดของบัญชี

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=my_customer&maxResults=2

ในตัวอย่างต่อไปนี้ คำขอของผู้ดูแลระบบของตัวแทนจำหน่ายจะแสดงผลกลุ่มทั้งหมดสำหรับบัญชีจากพาร์ทเนอร์ที่มี customerId C03az79cb ผลลัพธ์สูงสุดต่อหน้าตอบกลับคือ 2 มี nextPageToken สำหรับรายชื่อผู้ใช้ต่อไปนี้ในการตอบกลับนี้

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 และกลุ่มตามลำดับตัวอักษรของอีเมลกลุ่ม

{
"kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#groups",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "support@sales.com",
      "name": "Sales support",
      "directMembersCount": "6",
      "description": "The sales support group",
      "adminCreated": true
     },
     {
      "kind": "directory#groups",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "travel@sales.com",
      "name": "Sales travel",
      "directMembersCount": "2",
      "description": "The travel group supporting sales",
      "adminCreated": false,
      "aliases": [
       {
         "alias": "best_sales_group@example.com"
       }
      ],
      "nonEditableAliases: [
       {
         "alias": "liz@test.com"
       }
      ]
     },
  "nextPageToken": "NNNN"
  }

ดึงข้อมูลกลุ่มทั้งหมดของสมาชิก

หากต้องการเรียกข้อมูลกลุ่มทั้งหมดที่สมาชิกมีการสมัครรับข้อมูล ให้ใช้คำขอ GET ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในคำขอสิทธิ์ ตัวอย่างนี้ใช้การขึ้นบรรทัดใหม่เพื่อช่วยให้อ่านง่ายขึ้น

GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key
?pageToken=pagination token
&maxResults=maximum results per response page
  • สมาชิกสามารถเป็นผู้ใช้หรือกลุ่มก็ได้
  • userKey อาจเป็นอีเมลหลักของผู้ใช้ อีเมลแทนของผู้ใช้ อีเมลหลักของกลุ่ม อีเมลแทนของกลุ่ม หรือ id ที่ไม่ซ้ำกันของผู้ใช้ ซึ่งดูได้โดยใช้การดำเนินการเรียกข้อมูลผู้ใช้
  • ผู้ใช้หรือกลุ่มที่ระบุใน userKey ต้องเป็นของโดเมน
  • ใช้สตริงการค้นหา pageToken สำหรับคำตอบที่มีกลุ่มจำนวนมาก ในกรณีของการใส่เลขหน้า การตอบกลับจะแสดงผลพร็อพเพอร์ตี้ nextPageToken ซึ่งให้โทเค็นสำหรับผลลัพธ์การตอบกลับหน้าถัดไป คำขอถัดไปใช้โทเค็นนี้เป็นค่าสตริงคำค้นหา pageToken
  • การใช้ทั้งอาร์กิวเมนต์ customer และ userKey: Directory API จะแสดงผลข้อผิดพลาด คุณต้องส่งคำขอ 2 รายการแยกกันด้วยอาร์กิวเมนต์เหล่านี้

ดูพร็อพเพอร์ตี้คําขอและการตอบกลับได้ในเมธอด groups.list

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200 และรายการข้อมูลสมาชิก

  • ระบบจะแสดงผลกลุ่มทั้งหมดที่สมาชิกมีการสมัครรับข้อมูล ซึ่งรวมถึงกลุ่มจากภายนอกโดเมนของผู้ใช้
  • ระบบจะแสดงผลกลุ่มตามลำดับตัวอักษรของอีเมลของแต่ละกลุ่ม
  • ในส่วนเนื้อหาของการตอบกลับ id คือรหัสที่ไม่ซ้ำกันของกลุ่ม
  • ในการตอบสนอง ข้อมูลของกลุ่มจากภายนอกโดเมนของผู้ใช้จะไม่รวมชื่อแทนของกลุ่มภายนอก
{
    "kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#group",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "sales_group@example.com",
      "name": "sale group",
      "directMembersCount": "5",
      "description": "Sales group"
     },
     {
      "kind": "directory#group",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "support_group.com",
      "name": "support group",
      "directMembersCount": "5",
      "description": "Support group"
     }
  ],
   "nextPakeToken": "NNNNN"
}

เรียกข้อมูลชื่อแทนกลุ่มทั้งหมด

หากต้องการเรียกชื่อแทนทั้งหมดของกลุ่ม ให้ใช้คำขอ GET ต่อไปนี้และรวมสิทธิ์ที่อธิบายไว้ในให้สิทธิ์คำขอ groupKey อาจเป็นอีเมลหลักของกลุ่ม, id ที่ไม่ซ้ำกันของกลุ่ม หรืออีเมลใดก็ตามของกลุ่มก็ได้ ดูพร็อพเพอร์ตี้คำขอและการตอบกลับได้ในแหล่งข้อมูล groups

GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201 และรายการชื่อแทนของกลุ่ม

ลบชื่อแทนกลุ่ม

หากต้องการลบชื่อแทนของกลุ่ม ให้ใช้คำขอ DELETE ต่อไปนี้และรวมสิทธิ์ที่อธิบายไว้ในให้สิทธิ์คำขอ groupKey อาจเป็นอีเมลหลักของกลุ่ม, id ที่ไม่ซ้ำกันของกลุ่ม หรืออีเมลใดก็ตามของกลุ่มก็ได้ aliasId เป็นชื่อแทนที่จะถูกลบ ดูพร็อพเพอร์ตี้คําขอและการตอบกลับได้ที่แหล่งข้อมูล groups:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases/aliasId

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 201

ลบกลุ่ม

หากต้องการลบกลุ่ม ให้ใช้คำขอ DELETE ต่อไปนี้และรวมการให้สิทธิ์ที่อธิบายไว้ในการให้สิทธิ์คำขอ groupKey เป็น id ที่ไม่ซ้ำกันของกลุ่ม:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey
ตัวอย่างเช่น คำขอ DELETE นี้จะลบกลุ่มที่มีกลุ่ม nnnn id:
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

การตอบกลับที่สำเร็จจะแสดงรหัสสถานะ HTTP 200

สิ่งที่จะเกิดขึ้นเมื่อลบกลุ่ม

  • สมาชิกของกลุ่มทั้งหมดจะถูกลบ แต่จะไม่ลบบัญชีผู้ใช้ของสมาชิก
  • ที่เก็บถาวรของกลุ่มจะถูกลบ
  • ระบบจะไม่ส่งข้อความที่ส่งถึงอีเมลของกลุ่มที่ลบไปแล้ว แต่ผู้ส่งจะได้รับ ข้อความตีกลับแทน