نطاقات الأذونات

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

على المستخدمين تفويض مشاريع النصوص البرمجية التي يمكنها الوصول إلى بياناتهم أو التصرف نيابةً عنهم. عندما يشغّل مستخدم نصًا برمجيًا يتطلب تفويضًا للمرة الأولى، تعرض واجهة المستخدم رسالة مطالبة لبدء تدفق التفويض.

أثناء هذه العملية، تخبر واجهة المستخدم المستخدم بما يريد النص البرمجي تنفيذه. على سبيل المثال، قد يحتاج النص البرمجي إلى إذن لقراءة رسائل البريد الإلكتروني للمستخدم أو إنشاء أحداث في التقويم. ويحدد مشروع النص البرمجي هذه الأذونات الفردية باعتبارها نطاقات OAuth.

بالنسبة إلى معظم النصوص البرمجية، تكتشف "برمجة التطبيقات" تلقائيًا النطاقات اللازمة لك؛ ويمكنك عرض النطاقات التي يستخدمها النص البرمجي في أي وقت. يمكنك أيضًا ضبط النطاقات صراحةً في البيان باستخدام سلاسل عناوين URL. في بعض الأحيان، يكون إعداد النطاقات مطلوبًا صراحةً في بعض التطبيقات، مثل الإضافات، لأن التطبيقات المنشورة يجب أن تستخدم دائمًا أضيق نطاق.

أثناء مسار التفويض، يقدم "برمجة التطبيقات" أوصافًا يمكن للمستخدم قراءتها للنطاقات المطلوبة للمستخدم. على سبيل المثال، إذا كان النص البرمجي يحتاج إلى الوصول للقراءة فقط إلى جداول البيانات، قد يكون البيان هو النطاق https://www.googleapis.com/auth/spreadsheets.readonly. أثناء عملية التفويض، يطلب النص البرمجي الذي يحتوي على هذا النطاق من المستخدم السماح لهذا التطبيق بـ "عرض جداول بيانات Google" أو "عرض الأسعار" أو .

وتتضمن بعض النطاقات نطاقات أخرى. على سبيل المثال، عند سماح النطاق https://www.googleapis.com/auth/spreadsheets بالوصول إلى جداول البيانات للقراءة والكتابة

عرض النطاقات

يمكنك الاطّلاع على النطاقات التي يتطلبها مشروع النص البرمجي حاليًا من خلال تنفيذ ما يلي:

  1. افتح مشروع النص البرمجي.
  2. على يمين الصفحة، انقر على نظرة عامة .
  3. يمكنك عرض النطاقات ضمن نطاقات OAuth للمشروع.

إعداد النطاقات الفاضحة

تحدِّد "برمجة التطبيقات" تلقائيًا النطاقات التي يحتاج إليها النص البرمجي من خلال فحص رمزها لاستدعاءات الدوال التي تتطلبها. بالنسبة إلى معظم النصوص البرمجية، يكفي هذا ويوفّر لك الوقت، ولكن بالنسبة إلى الإضافات وتطبيقات الويب المنشورة، عليك التحكّم بشكل مباشر في النطاقات.

تُخصِّص "برمجة التطبيقات" في بعض الأحيان المشاريع نطاقات أكثر تساهلاً. وذلك يعني أن النص البرمجي يطلب من المستخدم أكثر من اللازم، وهو أمر غير صحيح. بالنسبة إلى النصوص البرمجية المنشورة، يجب استبدال النطاقات الواسعة بمجموعة محدودة أكثر تغطّي احتياجات النصوص البرمجية وغير ذلك.

يمكنك تحديد النطاقات التي يستخدمها مشروع النص البرمجي صراحةً من خلال تعديل ملف manifest. حقل البيان oauthScopes هو مصفوفة لجميع النطاقات التي يستخدمها المشروع. لضبط نطاقات مشروعك، عليك تنفيذ ما يلي:

  1. افتح مشروع النص البرمجي.
  2. على يمين الصفحة، انقر على إعدادات المشروع .
  3. ضَع علامة في مربّع الاختيار Show "appsscript.json" manifest file in محرر.
  4. على يمين الصفحة، انقر على أداة التعديل .
  5. على يمين الصفحة، انقر على الملف appsscript.json.
  6. حدِّد موقع حقل المستوى الأعلى الذي يحمل الاسم oauthScopes. إذا لم تكن متوفّرة، يمكنك إضافتها.
  7. يحدّد الحقل oauthScopes مصفوفة من السلاسل. لضبط النطاقات التي يستخدمها مشروعك، عليك استبدال محتوى هذه المصفوفة بالنطاقات التي تريد استخدامها. على سبيل المثال:
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. في أعلى الشاشة، انقر على رمز الحفظ .

التحقق من OAuth

بعض نطاقات OAuth حسّاسة لأنها تسمح بالوصول إلى بيانات مستخدم Google. إذا كان مشروع النص البرمجي يستخدم نطاقات تسمح بالوصول إلى بيانات المستخدم، يجب أن يخضع المشروع لالتحقّق من عملاء OAuth قبل أن تتمكّن من نشره بشكل علني كتطبيق ويب أو إضافة. لمزيد من المعلومات، اطّلِع على الأدلة التالية:

النطاقات المحظورة

بالإضافة إلى النطاقات الحساسة، يتم تصنيف بعض النطاقات على أنها مشروطة تخضع لقواعد إضافية تساعد في حماية بيانات المستخدم. إذا كنت تنوي نشر تطبيق ويب أو إضافة تستخدم نطاقًا محدودًا واحدًا أو أكثر، يجب أن يلتزم التطبيق بجميع القيود المحدّدة قبل نشره.

راجِع القائمة الكاملة للنطاقات المحظورة قبل محاولة النشر. إذا كان تطبيقك يستخدم أيًا منها، يجب أن تلتزم بالمتطلبات الإضافية لنطاقات واجهة برمجة تطبيقات معيّنة قبل النشر.