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

เอกสารนี้จะกล่าวถึงความแตกต่างที่สำคัญระหว่าง Email Settings API กับ Gmail API คุณ ใช้คู่มือนี้เพื่อช่วยย้ายข้อมูลแอปไปยัง Gmail API ได้

การอนุญาตคำขอ

Gmail API ใช้โปรโตคอล OAuth 2.0 เพื่อให้สิทธิ์คำขอเช่นเดียวกับ Email Settings API ความแตกต่างที่สำคัญอย่างหนึ่งคือสิทธิ์ของ Gmail API จะ กำหนดขอบเขตไว้สำหรับผู้ใช้แต่ละราย ไม่ใช่ทั้งโดเมน ซึ่งหมายความว่า การให้สิทธิ์บัญชีผู้ดูแลระบบโดเมนไม่ได้อนุญาตให้คุณย้ายข้อมูลอีเมล สำหรับผู้ใช้รายอื่นๆ ในโดเมน แต่คุณต้องใช้บัญชีบริการมาตรฐานที่มีสิทธิ์ระดับโดเมน ซึ่งอยู่ในรายการที่อนุญาตในคอนโซลผู้ดูแลระบบเพื่อ สร้างโทเค็นการตรวจสอบสิทธิ์ที่เหมาะสม

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 เปลี่ยนชื่อเป็น labelShow
HIDE เปลี่ยนชื่อเป็น labelHide

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

  • เมื่ออัปเดตหรือลบป้ายกำกับ Gmail API จะอ้างอิงป้ายกำกับตามรหัส แทนที่จะอ้างอิงตามชื่อ

การจัดการตัวกรอง

หากต้องการจัดการตัวกรองใน Gmail API ให้ใช้แหล่งข้อมูลตัวกรอง

การตั้งค่าเดิม การตั้งค่าใหม่ หมายเหตุ
จาก 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 ให้ใช้แหล่งข้อมูล SendAs

การตั้งค่าเดิม การตั้งค่าใหม่
ชื่อ displayName
ที่อยู่ sendAsEmail
replyTo replyToAddress
makeDefault isDefault

การจัดการเว็บคลิป

การตั้งค่าเว็บคลิปจะใช้งานผ่าน API ไม่ได้อีกต่อไป

การจัดการการตั้งค่าการส่งต่ออัตโนมัติ

หากต้องการจัดการการส่งต่ออัตโนมัติใน Gmail API ให้ใช้แหล่งข้อมูล Settings

การตั้งค่าเดิม การตั้งค่าใหม่ หมายเหตุ
เปิดใช้ เปิดใช้อยู่
forwardTo emailAddress
การดำเนินการ การควบคุม KEEP เปลี่ยนชื่อเป็น leaveInInbox
ARCHIVE เปลี่ยนชื่อเป็น archive
DELETE เปลี่ยนชื่อเป็น trash
MARK_READ เปลี่ยนชื่อเป็น markRead

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

  • ต้องสร้างและยืนยันที่อยู่อีเมลที่จะส่งต่อก่อนใช้งาน
  • คุณจัดการอีเมลที่ใช้รับการส่งต่อได้ผ่านแหล่งข้อมูล ForwardingAddresses

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

หากต้องการจัดการการเข้าถึง POP ใน Gmail API ให้ใช้แหล่งข้อมูล Settings

การตั้งค่าเดิม การตั้งค่าใหม่ หมายเหตุ
เปิดใช้ accessWindow ปิดใช้เมื่อตั้งค่าเป็น disabled
enableFor accessWindow ALL_MAIL เปลี่ยนชื่อเป็น allMail
MAIL_FROM_NOW_ON เปลี่ยนชื่อเป็น fromNowOn
การดำเนินการ การควบคุม KEEP เปลี่ยนชื่อเป็น leaveInInbox
ARCHIVE เปลี่ยนชื่อเป็น archive
DELETE เปลี่ยนชื่อเป็น trash
MARK_READ เปลี่ยนชื่อเป็น markRead

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

หากต้องการจัดการการเข้าถึง IMAP ใน Gmail API ให้ใช้แหล่งข้อมูล Settings

การตั้งค่าเดิม การตั้งค่าใหม่
เปิดใช้ เปิดใช้อยู่

การจัดการการตั้งค่าการตอบกลับอัตโนมัติเมื่อไม่อยู่

หากต้องการจัดการการตอบกลับอัตโนมัติเมื่อลางานใน Gmail API ให้ใช้แหล่งข้อมูล Settings

การตั้งค่าเดิม การตั้งค่าใหม่
contactsOnly restrictToContacts
domainOnly restrictToDomain
เปิดใช้ enableAutoReply
endDate endTime
ข้อความ responseBodyHtml
responseBodyPlainText
startDate startTime
วัตถุ responseSubject

การจัดการการตั้งค่าลายเซ็น

หากต้องการจัดการลายเซ็นอีเมลใน Gmail API ให้ใช้แหล่งข้อมูล SendAs

การตั้งค่าเดิม การตั้งค่าใหม่
ลายเซ็น ลายเซ็น

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

  • ตอนนี้คุณจัดการลายเซ็นได้ต่ออีเมลแทน

การจัดการการตั้งค่าภาษา

หากต้องการจัดการการตั้งค่าภาษาใน Gmail API ให้ใช้แหล่งข้อมูล Settings

การตั้งค่าเดิม การตั้งค่าใหม่
ภาษา displayLanguage

โปรดดูข้อมูลเพิ่มเติมในคู่มือการจัดการการตั้งค่าภาษา

การจัดการการตั้งค่าการมอบสิทธิ์

หากต้องการจัดการการมอบสิทธิ์ใน Gmail API ให้ใช้แหล่งข้อมูล Delegates

การตั้งค่าเดิม การตั้งค่าใหม่
ที่อยู่ delegateEmail
สถานะ verificationStatus

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

  • ทั่วไป
    • หากต้องการใช้วิธีการมอบสิทธิ์ใดๆ (รวมถึง delegates.create) ผู้ใช้ที่มอบสิทธิ์ต้องเปิดใช้ Gmail ซึ่งหมายความว่าผู้ใช้ที่ได้รับมอบสิทธิ์จะถูกระงับในไม่ได้
    • คุณไม่สามารถใช้อีเมลแทนเป็นอินพุตอีเมลผู้รับมอบสิทธิ์สำหรับวิธีการใหม่ ใดๆ ระบบต้องอ้างอิงผู้ใช้ที่ได้รับมอบสิทธิ์ด้วยอีเมลหลัก
  • delegates.create
    • ตอนนี้คุณสามารถใช้วิธีนี้เพื่อสร้างความสัมพันธ์แบบมอบสิทธิ์ในหลายโดเมนที่เป็นขององค์กรเดียวกันได้แล้ว
    • ตอนนี้คุณสามารถใช้วิธีนี้กับผู้ใช้ที่ต้องเปลี่ยนรหัสผ่านเมื่อลงชื่อเข้าใช้ครั้งถัดไปได้แล้ว
    • หากสำเร็จ เมธอดนี้จะแสดงผลแหล่งข้อมูล Users.settings.delegates ในเนื้อหาการตอบกลับ แทนที่จะเป็นเนื้อหาการตอบกลับที่ว่างเปล่า
    • หากผู้ใช้ที่มอบสิทธิ์หรือผู้รับมอบสิทธิ์ถูกปิดใช้ (เช่น ถูกระงับใน ) วิธีนี้จะล้มเหลว โดยมีข้อผิดพลาด HTTP 4XX แทนข้อผิดพลาด HTTP 500
  • delegates.delete
    • ตอนนี้คุณสามารถใช้วิธีนี้เพื่อลบผู้รับมอบสิทธิ์ที่มี verificationStatus ใดก็ได้ แทนที่จะเป็นเฉพาะผู้รับมอบสิทธิ์ที่มีสถานะเป็น accepted หรือ expired
  • delegates.get
    • นี่เป็นวิธีใหม่ที่อาจดีกว่าวิธี delegates.list ทั้งนี้ขึ้นอยู่กับความต้องการ

การจัดการการตั้งค่าทั่วไป

การตั้งค่าทั่วไปไม่พร้อมใช้งานผ่าน API อีกต่อไป