ย้ายข้อมูลจาก Email Settings API

เอกสารนี้ช่วยคุณย้ายข้อมูลแอปจาก 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 เปลี่ยนเป็น labelShow
HIDE เปลี่ยนเป็น 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 เปลี่ยนเป็น leaveInInbox
ARCHIVE เปลี่ยนเป็น archive
DELETE เปลี่ยนเป็น trash
MARK_READ เปลี่ยนเป็น markRead

การเปลี่ยนแปลงอื่นๆ

  • คุณต้องสร้างและยืนยันอีเมลสำหรับการส่งต่อก่อนที่จะใช้งาน
  • คุณจัดการอีเมลสำหรับการส่งต่อได้โดยใช้ทรัพยากร settings.forwardingAddresses

จัดการการตั้งค่า POP

หากต้องการจัดการการเข้าถึง POP ใน Gmail API ให้ใช้ทรัพยากร settings

การตั้งค่าเดิม การตั้งค่าใหม่ หมายเหตุ
enable accessWindow ปิดใช้เมื่อตั้งค่าเป็น disabled
enableFor accessWindow ALL_MAIL เปลี่ยนเป็น allMail
เปลี่ยนเป็น MAIL_FROM_NOW_ONfromNowOn
action disposition KEEP เปลี่ยนเป็น leaveInInbox
ARCHIVE เปลี่ยนเป็น archive
DELETE เปลี่ยนเป็น trash
MARK_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