ज़्यादातर chrome.* एपीआई इस्तेमाल करने के लिए, एपीआई, आपके एक्सटेंशन या ऐप्लिकेशन को मेनिफ़ेस्ट के "अनुमतियां" फ़ील्ड में अपने मकसद के बारे में बताना होगा. हर अनुमति, जानी-पहचानी स्ट्रिंग की सूची (जैसे, "जियोलोकेशन") में से कोई एक हो सकती है या एक मैच पैटर्न हो सकता है, जो एक या उससे ज़्यादा होस्ट को ऐक्सेस देता है. अगर आपके एक्सटेंशन या ऐप्लिकेशन को मैलवेयर से नुकसान पहुंचता है, तो अनुमतियों की मदद से नुकसान को कम किया जा सकता है. इंस्टॉल करने से पहले, उपयोगकर्ताओं को कुछ अनुमतियां भी दिखाई जाती हैं. इनके बारे में ज़्यादा जानकारी, अनुमति से जुड़ी चेतावनियां में दी गई है.
अगर किसी एपीआई के लिए, आपको मेनिफ़ेस्ट में अनुमति का एलान करना ज़रूरी है, तो उसके दस्तावेज़ में आपको ऐसा करने का तरीका बताया जाता है. उदाहरण के लिए, स्टोरेज पेज पर, "स्टोरेज" की अनुमति का एलान करने का तरीका बताया जाता है.
यहां मेनिफ़ेस्ट फ़ाइल के अनुमतियों वाले हिस्से का एक उदाहरण दिया गया है:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
यहां दी गई टेबल में, फ़िलहाल उपलब्ध अनुमतियों की सूची दी गई है:
| अनुमति | ब्यौरा |
|---|---|
"activeTab" |
यह अनुरोध करता है कि एक्सटेंशन को activeTab की खास जानकारी के मुताबिक अनुमतियां दी जाएं. |
"alarms" |
इससे आपके एक्सटेंशन को chrome.alarms एपीआई का ऐक्सेस मिलता है. |
"background" |
Chrome को जल्दी चालू और देर से बंद करता है, ताकि ऐप्लिकेशन और एक्सटेंशन ज़्यादा समय तक काम कर सकें. जब इंस्टॉल किए गए किसी होस्ट किए गए ऐप्लिकेशन, पैकेज किए गए ऐप्लिकेशन या एक्सटेंशन के पास "बैकग्राउंड" की अनुमति होती है, तो उपयोगकर्ता के कंप्यूटर में लॉग इन करते ही Chrome (बिना दिखे) चलने लगता है. ऐसा उपयोगकर्ता के Chrome लॉन्च करने से पहले होता है. "बैकग्राउंड" की अनुमति मिलने पर, Chrome तब तक चलता रहता है, जब तक उपयोगकर्ता साफ़ तौर पर Chrome को बंद नहीं कर देता. भले ही, उसकी आखिरी विंडो बंद हो गई हो. ध्यान दें: बंद किए गए ऐप्लिकेशन और एक्सटेंशन को इस तरह से ट्रीट किया जाता है जैसे कि वे इंस्टॉल ही नहीं किए गए हैं.
आम तौर पर, "बैकग्राउंड" अनुमति का इस्तेमाल, बैकग्राउंड पेज, इवेंट पेज या (होस्ट किए गए ऐप्लिकेशन के लिए) बैकग्राउंड विंडो के साथ किया जाता है. |
"bookmarks" |
आपके एक्सटेंशन को chrome.bookmarks API का ऐक्सेस देता है. |
"browsingData" |
इससे आपके एक्सटेंशन को chrome.browsingData एपीआई का ऐक्सेस मिलता है. |
"certificateProvider" |
इससे आपके एक्सटेंशन को chrome.certificateProvider एपीआई का ऐक्सेस मिलता है. |
"clipboardRead" |
अगर एक्सटेंशन या ऐप्लिकेशन document.execCommand('paste') का इस्तेमाल करता है, तो यह ज़रूरी है. |
"clipboardWrite" |
इससे पता चलता है कि एक्सटेंशन या ऐप्लिकेशन, document.execCommand('copy') या
document.execCommand('cut') का इस्तेमाल करता है. यह अनुमति होस्ट किए गए ऐप्लिकेशन के लिए ज़रूरी है. हालांकि, एक्सटेंशन और पैकेज किए गए ऐप्लिकेशन के लिए भी इसका सुझाव दिया जाता है. |
"contentSettings" |
इससे आपके एक्सटेंशन को chrome.contentSettings एपीआई का ऐक्सेस मिलता है. |
"contextMenus" |
इससे आपके एक्सटेंशन को chrome.contextMenus एपीआई का ऐक्सेस मिलता है. |
"cookies" |
इससे आपके एक्सटेंशन को chrome.cookies एपीआई का ऐक्सेस मिलता है. |
"debugger" |
इससे आपके एक्सटेंशन को chrome.debugger एपीआई का ऐक्सेस मिलता है. |
"declarativeContent" |
इससे आपके एक्सटेंशन को chrome.declarativeContent एपीआई का ऐक्सेस मिलता है. |
"declarativeNetRequest" |
इससे आपके एक्सटेंशन को chrome.declarativeNetRequest एपीआई का ऐक्सेस मिलता है. |
"declarativeNetRequestFeedback" |
इससे एक्सटेंशन को chrome.declarativeNetRequest एपीआई में मौजूद इवेंट और तरीकों को ऐक्सेस करने की अनुमति मिलती है. ये एपीआई, मैच होने वाले डिक्लेरेटिव नियमों की जानकारी देते हैं. |
"declarativeWebRequest" |
इससे आपके एक्सटेंशन को chrome.declarativeWebRequest एपीआई का ऐक्सेस मिलता है. |
"desktopCapture" |
इससे आपके एक्सटेंशन को chrome.desktopCapture एपीआई का ऐक्सेस मिलता है. |
"documentScan" |
इससे आपके एक्सटेंशन को chrome.documentScan एपीआई का ऐक्सेस मिलता है. |
"downloads" |
इससे आपके एक्सटेंशन को chrome.downloads एपीआई का ऐक्सेस मिलता है. |
"enterprise.deviceAttributes" |
इससे आपके एक्सटेंशन को chrome.enterprise.deviceAttributes एपीआई का ऐक्सेस मिलता है. |
"enterprise.hardwarePlatform" |
इससे आपके एक्सटेंशन को chrome.enterprise.hardwarePlatform एपीआई का ऐक्सेस मिलता है. |
"enterprise.networkingAttributes" |
इससे आपके एक्सटेंशन को chrome.enterprise.networkingAttributes एपीआई का ऐक्सेस मिलता है. |
"enterprise.platformKeys" |
इससे आपके एक्सटेंशन को chrome.enterprise.platformKeys एपीआई का ऐक्सेस मिलता है. |
"experimental" |
अगर एक्सटेंशन या ऐप्लिकेशन किसी chrome.experimental.* का इस्तेमाल करता है, तो यह ज़रूरी है एपीआई. |
"fileBrowserHandler" |
इससे आपके एक्सटेंशन को chrome.fileBrowserHandler एपीआई का ऐक्सेस मिलता है. |
"fileSystemProvider" |
इससे आपके एक्सटेंशन को chrome.fileSystemProvider एपीआई का ऐक्सेस मिलता है. |
"fontSettings" |
इससे आपके एक्सटेंशन को chrome.fontSettings एपीआई का ऐक्सेस मिलता है. |
"gcm" |
इससे आपके एक्सटेंशन को chrome.gcm एपीआई का ऐक्सेस मिलता है. |
"geolocation" |
यह नीति, एक्सटेंशन या ऐप्लिकेशन को उपयोगकर्ता से अनुमति मांगे बिना, जियोलोकेशन एपीआई का इस्तेमाल करने की अनुमति देती है. |
"history" |
इससे आपके एक्सटेंशन को chrome.history एपीआई का ऐक्सेस मिलता है. |
"identity" |
इससे आपके एक्सटेंशन को chrome.identity एपीआई का ऐक्सेस मिलता है. |
"idle" |
इससे आपके एक्सटेंशन को chrome.idle एपीआई का ऐक्सेस मिलता है. |
"loginState" |
इससे आपके एक्सटेंशन को chrome.loginState एपीआई का ऐक्सेस मिलता है. |
"management" |
इससे आपके एक्सटेंशन को chrome.management एपीआई का ऐक्सेस मिलता है. |
"nativeMessaging" |
इससे आपके एक्सटेंशन को नेटिव मैसेजिंग एपीआई का ऐक्सेस मिलता है. |
"notifications" |
इससे आपके एक्सटेंशन को chrome.notifications एपीआई का ऐक्सेस मिलता है. |
"pageCapture" |
इससे आपके एक्सटेंशन को chrome.pageCapture एपीआई का ऐक्सेस मिलता है. |
"platformKeys" |
इससे आपके एक्सटेंशन को chrome.platformKeys एपीआई का ऐक्सेस मिलता है. |
"power" |
इससे आपके एक्सटेंशन को chrome.power एपीआई का ऐक्सेस मिलता है. |
"printerProvider" |
आपके एक्सटेंशन को chrome.printerProvider API का ऐक्सेस देता है. |
"printing" |
इससे आपके एक्सटेंशन को chrome.printing एपीआई का ऐक्सेस मिलता है. |
"printingMetrics" |
इससे आपके एक्सटेंशन को chrome.printingMetrics एपीआई का ऐक्सेस मिलता है. |
"privacy" |
इससे आपके एक्सटेंशन को chrome.privacy एपीआई का ऐक्सेस मिलता है. |
"processes" |
इससे आपके एक्सटेंशन को chrome.processes एपीआई का ऐक्सेस मिलता है. |
"proxy" |
इससे आपके एक्सटेंशन को chrome.proxy एपीआई का ऐक्सेस मिलता है. |
"scripting" |
इससे आपके एक्सटेंशन को chrome.scripting एपीआई का ऐक्सेस मिलता है. |
"search" |
इससे आपके एक्सटेंशन को chrome.search एपीआई का ऐक्सेस मिलता है. |
"sessions" |
इससे आपके एक्सटेंशन को chrome.sessions एपीआई का ऐक्सेस मिलता है. |
"signedInDevices" |
इससे आपके एक्सटेंशन को chrome.signedInDevices एपीआई का ऐक्सेस मिलता है. |
"storage" |
इससे आपके एक्सटेंशन को chrome.storage एपीआई का ऐक्सेस मिलता है. |
"system.cpu" |
इससे आपके एक्सटेंशन को chrome.system.cpu एपीआई का ऐक्सेस मिलता है. |
"system.display" |
इससे आपके एक्सटेंशन को chrome.system.display एपीआई का ऐक्सेस मिलता है. |
"system.memory" |
इससे आपके एक्सटेंशन को chrome.system.memory API का ऐक्सेस मिलता है. |
"system.storage" |
इससे आपके एक्सटेंशन को chrome.system.storage एपीआई का ऐक्सेस मिलता है. |
"tabCapture" |
इससे आपके एक्सटेंशन को chrome.tabCapture API का ऐक्सेस मिलता है. |
"tabGroups" |
इससे आपके एक्सटेंशन को chrome.tabGroups एपीआई का ऐक्सेस मिलता है. |
"tabs" |
इससे आपके एक्सटेंशन को Tab ऑब्जेक्ट के खास फ़ील्ड का ऐक्सेस मिलता है. इन ऑब्जेक्ट का इस्तेमाल कई एपीआई करते हैं. इनमें chrome.tabs और chrome.windows शामिल हैं. कई मामलों में, आपके एक्सटेंशन को इन एपीआई का इस्तेमाल करने के लिए, "tabs" अनुमति का एलान करने की ज़रूरत नहीं होगी. |
"topSites" |
इससे आपके एक्सटेंशन को chrome.topSites एपीआई का ऐक्सेस मिलता है. |
"tts" |
इससे आपके एक्सटेंशन को chrome.tts एपीआई का ऐक्सेस मिलता है. |
"ttsEngine" |
इससे आपके एक्सटेंशन को chrome.ttsEngine एपीआई का ऐक्सेस मिलता है. |
"unlimitedStorage" |
यह क्लाइंट-साइड डेटा को सेव करने के लिए अनलिमिटेड कोटा देता है. जैसे, डेटाबेस और लोकल स्टोरेज फ़ाइलें.
इस अनुमति के बिना, एक्सटेंशन या ऐप्लिकेशन के लिए लोकल स्टोरेज की सीमा 5 एमबी तक होती है. ध्यान दें: यह अनुमति सिर्फ़ वेब एसक्यूएल डेटाबेस और ऐप्लिकेशन कैश मेमोरी पर लागू होती है
(समस्या 58985 देखें). साथ ही, फ़िलहाल यह
http://*.example.com जैसे वाइल्डकार्ड सबडोमेन के साथ काम नहीं करता. |
"vpnProvider" |
इससे आपके एक्सटेंशन को chrome.vpnProvider एपीआई का ऐक्सेस मिलता है. |
"webNavigation" |
इससे आपके एक्सटेंशन को chrome.webNavigation एपीआई का ऐक्सेस मिलता है. |
"webRequest" |
इससे आपके एक्सटेंशन को chrome.webRequest एपीआई का ऐक्सेस मिलता है. |
"webRequestBlocking" |
अगर एक्सटेंशन, chrome.webRequest एपीआई का इस्तेमाल ब्लॉक करने के लिए करता है, तो यह ज़रूरी है. |