بيان الأذونات

لاستخدام معظم تطبيقات 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.experienceal.* واجهات برمجة التطبيقات.
"fileBrowserHandler" لمنح إضافتك إمكانية الوصول إلى واجهة برمجة تطبيقات chrome.fileBrowserHandler.
"fileSystemProvider" لمنح إضافتك إمكانية الوصول إلى واجهة برمجة التطبيقات chrome.fileSystemProvider.
"fontSettings" لمنح إضافتك إمكانية الوصول إلى واجهة برمجة تطبيقات chrome.fontSettings
"gcm" لمنح إضافتك إمكانية الوصول إلى واجهة برمجة تطبيقات chrome.gcm.
"geolocation" يسمح للإضافة أو التطبيق باستخدام geolocation API بدون طلب الإذن من المستخدم.
"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.
"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.
"wallpaper" لمنح إضافتك الإذن بالوصول إلى واجهة برمجة تطبيقات chrome.wallpaper.
"webNavigation" لمنح إضافتك إمكانية الوصول إلى واجهة برمجة تطبيقات chrome.webNavigation
"webRequest" لمنح الإضافة إمكانية الوصول إلى واجهة برمجة تطبيقات chrome.webRequest.
"webRequestBlocking" تكون هذه السمة مطلوبة إذا كانت الإضافة تستخدم واجهة برمجة التطبيقات chrome.webRequest بطريقة محظورة.