เอกสารนี้จะช่วยย้ายข้อมูลแอปจาก Email Settings API ที่เลิกใช้งานแล้วไปยัง Gmail API
ให้สิทธิ์คำขอ
Gmail API ใช้โปรโตคอล OAuth 2.0 เพื่อให้สิทธิ์คำขอเช่นเดียวกับ Email Settings API ความแตกต่างที่สำคัญอย่างหนึ่งคือสิทธิ์ของ Gmail API จะกำหนดขอบเขตไว้ที่ผู้ใช้แต่ละราย ไม่ใช่ทั้งโดเมน ซึ่งหมายความว่าการให้สิทธิ์บัญชีผู้ดูแลระบบโดเมนไม่ได้ช่วยให้คุณย้ายข้อมูล อีเมลสำหรับผู้ใช้รายอื่นในโดเมนได้ แต่คุณต้องใช้บัญชีบริการมาตรฐานที่มีสิทธิ์ระดับโดเมนซึ่งเพิ่มลงในรายการที่อนุญาตในคอนโซลผู้ดูแลระบบของ Google เพื่อสร้างโทเค็นการตรวจสอบสิทธิ์ที่เหมาะสม
Email Settings API ใช้ขอบเขตต่อไปนี้
https://apps-apis.google.com/a/feeds/emailsettings/2.0/
ขอบเขตที่เทียบเท่าใน Gmail API คือ
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
การเปลี่ยนแปลงโปรโตคอล
Email Settings API ใช้โปรโตคอล GDATA ที่อิงตาม XML Gmail API ใช้ JSON เนื่องจากการตั้งค่าส่วนใหญ่ประกอบด้วยคู่คีย์-ค่า เพย์โหลดจึงมีความคล้ายคลึงกันในเชิงแนวคิดระหว่างเวอร์ชันต่างๆ
ตัวอย่างการสร้างป้ายกำกับ
Email Settings API
POST https://apps-apis.google.com/a/feeds/emailsettings/2.0/{domain name}/{username}/label
<?xml version="1.0" encoding="utf-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name="label" value="status updates" />
</atom:entry>
Gmail API
POST https://www.googleapis.com/gmail/v1/users/{username}/labels
{
"name": "status updates"
}
ใช้ไลบรารีของไคลเอ็นต์ที่ให้มาแทน การใช้โปรโตคอลโดยตรง
จัดการป้ายกำกับ
หากต้องการจัดการป้ายกำกับใน Gmail API ให้ใช้แหล่งข้อมูล
labels
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| labelId | id | |
| ป้ายกำกับ | ชื่อ | |
| unreadCount | messagesUnread | |
| การเปิดเผย | labelListVisibility | SHOW เปลี่ยนชื่อเป็น labelShowHIDE เปลี่ยนชื่อเป็น labelHide |
การเปลี่ยนแปลงอื่นๆ
- เมื่ออัปเดตหรือลบป้ายกำกับ Gmail API จะอ้างอิงป้ายกำกับ ตามรหัสแทนที่จะอ้างอิงตามชื่อ
จัดการตัวกรอง
หากต้องการจัดการตัวกรองใน Gmail API ให้ใช้แหล่งข้อมูล
settings.filters
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| จาก | criteria.from | |
| ถึง | criteria.to | |
| วัตถุ | criteria.subject | |
| hasTheWord | criteria.query | |
| doesNotHaveTheWord | criteria.negatedQuery | |
| hasAttachment | criteria.hasAttachment | |
| shouldArchive | action.removeLabelIds | ใช้ INBOX เป็นรหัสป้ายกำกับ |
| shouldMarkAsRead | action.removeLabelIds | ใช้ UNREAD เป็นรหัสป้ายกำกับ |
| shouldStar | action.addLabelIds | ใช้ STARRED เป็นรหัสป้ายกำกับ |
| ป้ายกำกับ | action.addLabelIds | ใช้รหัสของป้ายกำกับเพื่อเพิ่ม |
| forwardTo | action.forward | |
| shouldTrash | action.addLabelIds | ใช้ TRASH เป็นรหัสป้ายกำกับ |
| neverSpam | action.removeLabelIds | ใช้ SPAM เป็นรหัสป้ายกำกับ |
การเปลี่ยนแปลงอื่นๆ
- หากยังไม่มีป้ายกำกับผู้ใช้ คุณต้องสร้างป้ายกำกับอย่างชัดเจนโดยใช้เมธอด
labels.create
จัดการอีเมลแทนสำหรับการส่ง
หากต้องการจัดการนามแฝงสำหรับส่งในชื่อใน Gmail API ให้ใช้แหล่งข้อมูล
settings.sendAs
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| ชื่อ | displayName |
| ที่อยู่ | sendAsEmail |
| replyTo | replyToAddress |
| makeDefault | isDefault |
จัดการเว็บคลิป
การตั้งค่า Web Clip ไม่พร้อมใช้งานใน Gmail API
จัดการการส่งต่ออัตโนมัติ
หากต้องการจัดการการส่งต่ออัตโนมัติใน Gmail API ให้ใช้แหล่งข้อมูล
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| เปิดใช้ | เปิดใช้อยู่ | |
| forwardTo | emailAddress | |
| การดำเนินการ | การควบคุม | KEEP เปลี่ยนชื่อเป็น leaveInInboxARCHIVE เปลี่ยนชื่อเป็น archiveDELETE เปลี่ยนชื่อเป็น trashMARK_READ เปลี่ยนชื่อเป็น markRead |
การเปลี่ยนแปลงอื่นๆ
- คุณต้องสร้างและยืนยันที่อยู่อีเมลสำหรับส่งต่อก่อนใช้งาน
- คุณจัดการอีเมลที่ส่งต่อได้โดยใช้แหล่งข้อมูล
settings.forwardingAddresses
จัดการการตั้งค่า POP
หากต้องการจัดการการเข้าถึง POP ใน Gmail API ให้ใช้แหล่งข้อมูล
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| เปิดใช้ | accessWindow | ปิดใช้เมื่อตั้งค่าเป็น disabled |
| enableFor | accessWindow | ALL_MAIL เปลี่ยนชื่อเป็น allMailMAIL_FROM_NOW_ON เปลี่ยนชื่อเป็น fromNowOn |
| การดำเนินการ | การควบคุม | KEEP เปลี่ยนชื่อเป็น leaveInInboxARCHIVE เปลี่ยนชื่อเป็น archiveDELETE เปลี่ยนชื่อเป็น trashMARK_READ เปลี่ยนชื่อเป็น markRead |
จัดการการตั้งค่า IMAP
หากต้องการจัดการการเข้าถึงแบบ IMAP ใน Gmail API ให้ใช้แหล่งข้อมูล settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| เปิดใช้ | เปิดใช้อยู่ |
จัดการการตั้งค่าอีเมลตอบกลับอัตโนมัติเมื่อไม่อยู่
หากต้องการจัดการอีเมลตอบกลับอัตโนมัติเมื่อลางานใน Gmail API ให้ใช้แหล่งข้อมูล
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| contactsOnly | restrictToContacts |
| domainOnly | restrictToDomain |
| เปิดใช้ | enableAutoReply |
| endDate | endTime |
| ข้อความ | responseBodyHtml responseBodyPlainText |
| startDate | startTime |
| วัตถุ | responseSubject |
จัดการการตั้งค่าลายเซ็น
หากต้องการจัดการลายเซ็นอีเมลใน Gmail API ให้ใช้แหล่งข้อมูล
settings.sendAs
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| ลายเซ็น | ลายเซ็น |
การเปลี่ยนแปลงอื่นๆ
- ตอนนี้คุณจัดการลายเซ็นต่ออีเมลแทนได้แล้ว
จัดการการตั้งค่าภาษา
หากต้องการจัดการการตั้งค่าภาษาใน Gmail API ให้ใช้แหล่งข้อมูล settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| ภาษา | displayLanguage |
ดูข้อมูลเพิ่มเติมได้ที่จัดการการตั้งค่าภาษา
จัดการการตั้งค่าการมอบสิทธิ์
หากต้องการจัดการการมอบสิทธิ์ใน Gmail API ให้ใช้แหล่งข้อมูล
settings.delegates
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| ที่อยู่ | delegateEmail |
| สถานะ | verificationStatus |
การเปลี่ยนแปลงอื่นๆ
- ทั่วไป
- หากต้องการใช้วิธีการมอบสิทธิ์ใดก็ตาม (รวมถึง
settings.delegates.create) ต้องเปิดใช้ Gmail สำหรับผู้ใช้ที่มอบสิทธิ์ ซึ่งหมายความว่าผู้ใช้ที่มอบสิทธิ์จะไม่สามารถถูกระงับใน Google Workspace ได้ - คุณไม่สามารถใช้อีเมลแทนเป็นอินพุตอีเมลผู้รับมอบสิทธิ์สำหรับวิธีการใหม่ๆ ได้ ระบบต้องอ้างอิงผู้ใช้ที่ได้รับมอบสิทธิ์ด้วยอีเมลหลัก
- หากต้องการใช้วิธีการมอบสิทธิ์ใดก็ตาม (รวมถึง
settings.delegates.create- ตอนนี้คุณสามารถใช้วิธีนี้เพื่อสร้างความสัมพันธ์ในการมอบสิทธิ์ในหลายโดเมนที่เป็นขององค์กร Google Workspace เดียวกันได้แล้ว
- ตอนนี้คุณสามารถใช้วิธีนี้กับผู้ใช้ที่ต้องเปลี่ยนรหัสผ่านเมื่อลงชื่อเข้าใช้ครั้งถัดไปได้แล้ว
- หากทำสำเร็จ เมธอดนี้จะแสดงผล
settings.delegatesทรัพยากรในเนื้อหาการตอบกลับแทนที่จะเป็นเนื้อหาการตอบกลับที่ว่างเปล่า - หากผู้ใช้ที่มอบสิทธิ์หรือผู้รับมอบสิทธิ์ถูกปิดใช้ (เช่น ถูกระงับใน Google Workspace) วิธีนี้จะล้มเหลวโดยมีข้อผิดพลาด HTTP 4XX แทนข้อผิดพลาด HTTP 500
settings.delegates.delete- ตอนนี้คุณสามารถใช้วิธีนี้เพื่อลบผู้รับมอบสิทธิ์ที่มี
VerificationStatusได้แล้ว ไม่ใช่แค่ผู้รับมอบสิทธิ์ที่เป็นacceptedหรือexpiredเท่านั้น
- ตอนนี้คุณสามารถใช้วิธีนี้เพื่อลบผู้รับมอบสิทธิ์ที่มี
settings.delegates.get- นี่เป็นวิธีใหม่ซึ่งอาจดีกว่าวิธี
settings.delegates.listขึ้นอยู่กับความต้องการ
- นี่เป็นวิธีใหม่ซึ่งอาจดีกว่าวิธี
จัดการการตั้งค่าทั่วไป
การตั้งค่าทั่วไปไม่พร้อมใช้งานใน Gmail API