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

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

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

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

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

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

نطاق العرض

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

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

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

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

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

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

النطاقات المشروطة

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

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