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

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

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

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

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

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

عرض النطاقات

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

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

تحديد نطاقات صريحة

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

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

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

  1. افتح مشروع النص البرمجي.
  2. على يمين الصفحة، انقر على إعدادات المشروع .
  3. ضع علامة في مربّع الاختيار عرض ملف البيان "appsscript.json" في المحرِّر.
  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 قبل أن تتمكّن من نشره علنًا كتطبيق ويب أو إضافة. لمزيد من المعلومات، يُرجى الاطّلاع على الأدلة التالية:

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

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

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