لاستخدام معظم واجهات برمجة التطبيقات 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. |
"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. |
"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. |
"system.storage" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.system.storage. |
"tabCapture" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.tabCapture. |
"tabGroups" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.tabGroups. |
"tabs" |
يمنح هذا الإذن إضافتك إمكانية الوصول إلى الحقول المميّزة لعناصر Tab التي تستخدمها عدة واجهات برمجة تطبيقات، بما في ذلك chrome.tabs وchrome.windows. في
العديد من الحالات، لن تحتاج الإضافة إلى الإفصاح عن إذن "tabs" للاستفادة من
واجهات برمجة التطبيقات هذه. |
"topSites" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.topSites. |
"tts" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.tts. |
"ttsEngine" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.ttsEngine. |
"unlimitedStorage" |
يوفّر هذا الإذن حصة غير محدودة لتخزين البيانات من جهة العميل، مثل قواعد البيانات وملفات التخزين المحلي.
وبدون هذا الإذن، تقتصر الإضافة أو التطبيق على 5 ميغابايت من مساحة التخزين المحلية. ملاحظة: ينطبق هذا الإذن فقط على قاعدة بيانات SQL على الويب وذاكرة التخزين المؤقت للتطبيق (يُرجى الاطّلاع على المشكلة 58985). بالإضافة إلى ذلك، لا تعمل هذه الميزة حاليًا مع النطاقات الفرعية التي تتضمّن أحرف بدل، مثل
http://*.example.com. |
"vpnProvider" |
يمنح الإضافة إمكانية الوصول إلى واجهة برمجة التطبيقات chrome.vpnProvider. |
"webNavigation" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.webNavigation. |
"webRequest" |
يمنح الإضافة إذن الوصول إلى واجهة برمجة التطبيقات chrome.webRequest. |
"webRequestBlocking" |
هذا الإذن مطلوب إذا كانت الإضافة تستخدم واجهة برمجة التطبيقات chrome.webRequest بطريقة حظر. |