เอกสารนี้ช่วยคุณย้ายข้อมูลแอปจาก 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 | |
| label | name | |
| unreadCount | messagesUnread | |
| visibility | labelListVisibility | SHOW เปลี่ยนเป็น labelShowHIDE เปลี่ยนเป็น labelHide |
การเปลี่ยนแปลงอื่นๆ
- เมื่ออัปเดตหรือลบป้ายกำกับ Gmail API จะอ้างอิงป้ายกำกับตามรหัสแทนที่จะอ้างอิงตามชื่อ
จัดการตัวกรอง
หากต้องการจัดการตัวกรองใน Gmail API ให้ใช้
settings.filters
ทรัพยากร
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| from | criteria.from | |
| to | criteria.to | |
| subject | criteria.subject | |
| hasTheWord | criteria.query | |
| doesNotHaveTheWord | criteria.negatedQuery | |
| hasAttachment | criteria.hasAttachment | |
| shouldArchive | action.removeLabelIds | ใช้ INBOX เป็นรหัสป้ายกำกับ |
| shouldMarkAsRead | action.removeLabelIds | ใช้ UNREAD เป็นรหัสป้ายกำกับ |
| shouldStar | action.addLabelIds | ใช้ STARRED เป็นรหัสป้ายกำกับ |
| label | action.addLabelIds | ใช้รหัสของป้ายกำกับที่จะเพิ่ม |
| forwardTo | action.forward | |
| shouldTrash | action.addLabelIds | ใช้ TRASH เป็นรหัสป้ายกำกับ |
| neverSpam | action.removeLabelIds | ใช้ SPAM เป็นรหัสป้ายกำกับ |
การเปลี่ยนแปลงอื่นๆ
- หากป้ายกำกับของผู้ใช้ที่จะเพิ่มยังไม่มีอยู่ คุณต้องสร้างป้ายกำกับนั้นอย่างชัดเจน
โดยใช้
labels.createวิธี
จัดการอีเมลแทนสำหรับการส่ง
หากต้องการจัดการอีเมลแทนสำหรับการส่งใน Gmail API ให้ใช้ทรัพยากร
settings.sendAs
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| name | displayName |
| address | sendAsEmail |
| replyTo | replyToAddress |
| makeDefault | isDefault |
จัดการเว็บคลิป
การตั้งค่าเว็บคลิปไม่พร้อมใช้งานใน Gmail API
จัดการการส่งต่ออัตโนมัติ
หากต้องการจัดการการส่งต่ออัตโนมัติใน Gmail API ให้ใช้ทรัพยากร
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| enable | enabled | |
| forwardTo | emailAddress | |
| action | disposition | KEEP เปลี่ยนเป็น leaveInInboxARCHIVE เปลี่ยนเป็น archiveDELETE เปลี่ยนเป็น trashMARK_READ เปลี่ยนเป็น markRead |
การเปลี่ยนแปลงอื่นๆ
- คุณต้องสร้างและยืนยันอีเมลสำหรับการส่งต่อก่อนที่จะใช้งาน
- คุณจัดการอีเมลสำหรับการส่งต่อได้โดยใช้ทรัพยากร
settings.forwardingAddresses
จัดการการตั้งค่า POP
หากต้องการจัดการการเข้าถึง POP ใน Gmail API ให้ใช้ทรัพยากร
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ | หมายเหตุ |
|---|---|---|
| enable | accessWindow | ปิดใช้เมื่อตั้งค่าเป็น disabled |
| enableFor | accessWindow | ALL_MAIL เปลี่ยนเป็น allMailเปลี่ยนเป็น MAIL_FROM_NOW_ONfromNowOn |
| action | disposition | KEEP เปลี่ยนเป็น leaveInInboxARCHIVE เปลี่ยนเป็น archiveDELETE เปลี่ยนเป็น trashMARK_READ เปลี่ยนเป็น markRead |
จัดการการตั้งค่า IMAP
หากต้องการจัดการการเข้าถึง IMAP ใน Gmail API ให้ใช้ทรัพยากร
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| enable | enabled |
จัดการการตั้งค่าอีเมลตอบกลับอัตโนมัติเมื่อไม่อยู่
หากต้องการจัดการอีเมลตอบกลับอัตโนมัติเมื่อไม่อยู่ใน Gmail API ให้ใช้ทรัพยากร
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| contactsOnly | restrictToContacts |
| domainOnly | restrictToDomain |
| enable | enableAutoReply |
| endDate | endTime |
| message | responseBodyHtml responseBodyPlainText |
| startDate | startTime |
| subject | responseSubject |
จัดการการตั้งค่าลายเซ็น
หากต้องการจัดการลายเซ็นอีเมลใน Gmail API ให้ใช้
settings.sendAs
ทรัพยากร
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| signature | signature |
การเปลี่ยนแปลงอื่นๆ
- ตอนนี้ระบบจะจัดการลายเซ็นต่ออีเมลแทน
จัดการการตั้งค่าภาษา
หากต้องการจัดการการตั้งค่าภาษาใน Gmail API ให้ใช้ทรัพยากร
settings
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| language | displayLanguage |
ดูข้อมูลเพิ่มเติมได้ที่หัวข้อ จัดการการตั้งค่า ภาษา
จัดการการตั้งค่าการมอบสิทธิ์
หากต้องการจัดการการมอบสิทธิ์ใน Gmail API ให้ใช้
settings.delegates
ทรัพยากร
| การตั้งค่าเดิม | การตั้งค่าใหม่ |
|---|---|
| address | delegateEmail |
| status | 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