इस दस्तावेज़ में, Email Settings API और Gmail API के बीच मुख्य अंतर के बारे में बताया गया है. अपने ऐप्लिकेशन को Gmail API पर माइग्रेट करने के लिए, इस गाइड का इस्तेमाल करें.
अनुरोधों को अनुमति देना
Email Settings API की तरह, Gmail API भी अनुरोधों को अनुमति देने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करता है. इन दोनों के बीच मुख्य अंतर यह है कि Gmail API की अनुमतियां, पूरे डोमेन के बजाय किसी एक उपयोगकर्ता के लिए तय की जाती हैं. इसका मतलब है कि डोमेन एडमिन के खाते को अनुमति देने से, आपको डोमेन के अन्य उपयोगकर्ताओं के लिए ईमेल माइग्रेट करने की अनुमति नहीं मिलती. इसके बजाय, आपको डोमेन-वाइड अथॉरिटी वाले स्टैंडर्ड सेवा खातों का इस्तेमाल करना होगा. ये खाते, Admin console में मंज़ूरी वाली सूची में शामिल होने चाहिए, ताकि सही पुष्टि करने वाला टोकन जनरेट किया जा सके.
ईमेल सेटिंग वाले एपीआई ने इस स्कोप का इस्तेमाल किया:
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 प्रोटोकॉल का इस्तेमाल करता है. 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 | आईडी | |
| लेबल | नाम | |
| unreadCount | messagesUnread | |
| कैसा दिखाई दे | labelListVisibility | SHOW अब labelShowHIDE अब labelHide है |
अन्य बदलाव:
- लेबल अपडेट करते समय या मिटाते समय, Gmail API लेबल को नाम के बजाय आईडी से रेफ़रंस करता है.
फ़िल्टर मैनेज करना
Gmail API में फ़िल्टर मैनेज करने के लिए, Filters संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग | नोट |
|---|---|---|
| से | criteria.from | |
| से | 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 को लेबल आईडी के तौर पर इस्तेमाल करें |
| लेबल | action.addLabelIds | जोड़ने के लिए लेबल के आईडी का इस्तेमाल करना |
| forwardTo | action.forward | |
| shouldTrash | action.addLabelIds | TRASH को लेबल आईडी के तौर पर इस्तेमाल करें |
| neverSpam | action.removeLabelIds | SPAM को लेबल आईडी के तौर पर इस्तेमाल करें |
अन्य बदलाव:
- अगर उपयोगकर्ता लेबल पहले से मौजूद नहीं है, तो इसे labels.create तरीके का इस्तेमाल करके साफ़ तौर पर बनाना होगा.
'इस पते से ईमेल भेजें' सुविधा के लिए इस्तेमाल किए जाने वाले ईमेल पते मैनेज करना
Gmail API में, 'इस पते से भेजें' सुविधा के लिए इस्तेमाल किए जाने वाले ईमेल पतों को मैनेज करने के लिए, SendAs संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| नाम | displayName |
| पता | sendAsEmail |
| replyTo | replyToAddress |
| makeDefault | isDefault |
वेब क्लिप मैनेज करना
एपीआई के ज़रिए, वेब क्लिप की सेटिंग अब उपलब्ध नहीं हैं.
मैसेज अपने-आप फ़ॉरवर्ड होने की सेटिंग मैनेज करना
Gmail API में ईमेल अपने-आप फ़ॉरवर्ड होने की सुविधा को मैनेज करने के लिए, Settings संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग | नोट |
|---|---|---|
| चालू करें | चालू किया गया | |
| forwardTo | emailAddress | |
| ऐक्शन गेम | disposition | KEEP अब leaveInInboxARCHIVE अब archiveDELETE अब trashMARK_READ अब markRead |
अन्य बदलाव:
- फ़ॉरवर्ड करने के लिए पते बनाने और उनकी पुष्टि करने के बाद ही उनका इस्तेमाल किया जा सकता है
- ईमेल फ़ॉरवर्ड करने के पतों को ForwardingAddresses संसाधन के ज़रिए मैनेज किया जा सकता है.
POP सेटिंग मैनेज करना
Gmail API में पीओपी ऐक्सेस को मैनेज करने के लिए, Settings संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग | नोट |
|---|---|---|
| चालू करें | accessWindow | disabled पर सेट होने पर बंद हो जाता है |
| enableFor | accessWindow | ALL_MAIL अब allMailMAIL_FROM_NOW_ON अब fromNowOn है |
| ऐक्शन गेम | disposition | KEEP अब leaveInInboxARCHIVE अब archiveDELETE अब trashMARK_READ अब markRead |
आईएमएपी सेटिंग मैनेज करना
Gmail API में आईएमएपी ऐक्सेस को मैनेज करने के लिए, Settings संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| चालू करें | चालू किया गया |
छुट्टी के दौरान अपने-आप जवाब देने की सुविधा की सेटिंग मैनेज करना
Gmail API में, छुट्टी पर होने की वजह से अपने-आप जवाब देने की सुविधा को मैनेज करने के लिए, Settings संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| contactsOnly | restrictToContacts |
| domainOnly | restrictToDomain |
| चालू करें | enableAutoReply |
| endDate | endTime |
| मैसेज | responseBodyHtml responseBodyPlainText |
| startDate | startTime |
| subject | responseSubject |
हस्ताक्षर की सेटिंग मैनेज करना
Gmail API में ईमेल हस्ताक्षर मैनेज करने के लिए, SendAs संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| signature | signature |
अन्य बदलाव:
- अब हर उपनाम के लिए अलग-अलग हस्ताक्षर मैनेज किए जा सकते हैं.
भाषा की सेटिंग मैनेज करना
Gmail API में भाषा की सेटिंग मैनेज करने के लिए, Settings रिसॉर्स का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| भाषा | displayLanguage |
ज़्यादा जानकारी के लिए, कृपया भाषा की सेटिंग मैनेज करने की गाइड देखें.
प्रतिनिधि सेटिंग मैनेज करना
Gmail API में डेलिगेशन को मैनेज करने के लिए, Delegates संसाधन का इस्तेमाल करें.
| पुरानी सेटिंग | नई सेटिंग |
|---|---|
| पता | delegateEmail |
| स्थिति | verificationStatus |
अन्य बदलाव:
- सामान्य
- प्रतिनिधि को ईमेल ऐक्सेस करने की अनुमति देने के किसी भी तरीके (इसमें delegates.create भी शामिल है) का इस्तेमाल करने के लिए, यह ज़रूरी है कि प्रतिनिधि को ईमेल ऐक्सेस करने की अनुमति देने वाले उपयोगकर्ता के लिए Gmail चालू हो. इसका मतलब है कि उदाहरण के लिए, Google Workspace में प्रतिनिधि के तौर पर काम करने वाले उपयोगकर्ता के खाते को निलंबित नहीं किया जा सकता.
- किसी भी नए तरीके के लिए, ईमेल के उपनाम का इस्तेमाल डेलिगेट के ईमेल पते के तौर पर नहीं किया जा सकता. प्रतिनिधि उपयोगकर्ता को उसके मुख्य ईमेल पते से रेफ़र किया जाना चाहिए.
- delegates.create
- अब इस तरीके का इस्तेमाल करके, एक ही Google Workspace संगठन के अलग-अलग डोमेन के लिए, डेलिगेट के तौर पर काम करने की अनुमति दी जा सकती है.
- अब इस तरीके का इस्तेमाल उन उपयोगकर्ताओं के लिए किया जा सकता है जिन्हें अगली बार साइन इन करने पर पासवर्ड बदलना होगा.
- अगर यह तरीका काम करता है, तो जवाब के मुख्य हिस्से में Users.settings.delegates संसाधन दिखता है. हालांकि, जवाब का मुख्य हिस्सा खाली नहीं होता.
- अगर डेलिगेट करने वाले या डेलिगेट किए गए उपयोगकर्ता में से किसी एक का खाता बंद कर दिया जाता है (उदाहरण के लिए, Google Workspace में निलंबित कर दिया जाता है), तो यह तरीका काम नहीं करता. साथ ही, एचटीटीपी 500 गड़बड़ी के बजाय एचटीटीपी 4XX गड़बड़ी दिखती है.
- delegates.delete
- अब इस तरीके का इस्तेमाल, किसी भी verificationStatus वाले प्रतिनिधियों को हटाने के लिए किया जा सकता है. पहले इसका इस्तेमाल सिर्फ़
acceptedयाexpiredवाले प्रतिनिधियों को हटाने के लिए किया जा सकता था.
- अब इस तरीके का इस्तेमाल, किसी भी verificationStatus वाले प्रतिनिधियों को हटाने के लिए किया जा सकता है. पहले इसका इस्तेमाल सिर्फ़
- delegates.get
- यह एक नया तरीका है. ज़रूरत के हिसाब से, यह delegates.list तरीके से बेहतर हो सकता है.
सामान्य सेटिंग मैनेज करना
एपीआई के ज़रिए, सामान्य सेटिंग अब उपलब्ध नहीं हैं.