الوصول إلى خصائص هوية المستخدم

سيستخدم المستخدمون "موصِّل المنتدى" لإنشاء مصادر البيانات الخاصة بهم. بالنسبة لمصادر البيانات هذه، يمكن للموصل الوصول إلى هوية المستخدم الفعالة. استنادًا إلى بيانات اعتماد مصدر البيانات، قد يكون المستخدم الفعال هو منشئ مصدر البيانات (بيانات اعتماد المالك) أو مُشاهد التقارير (بيانات اعتماد المُشاهد).

المزايا

  • يمكنك الوصول إلى خدمات Google وواجهات برمجة التطبيقات بالنيابة عن المستخدم.
  • يمكنك تنفيذ تحكم مخصص في الوصول لضمان عرض البيانات ذات الصلة فقط.
  • ويمكنك تخصيص تجربة المستخدم للمستخدم الفعال.

خطوات التنفيذ

الوصول إلى رمز OAuth المميز للمستخدم

يمكن للموصّل الوصول إلى خدمات Google وواجهات برمجة التطبيقات نيابةً عن المستخدم من خلال تمرير رمز OAuth المميز للمستخدم. للوصول إلى رمز OAuth المميز للمستخدم الفعال في الموصِّل، استخدِم ScriptApp.getOAuthToken(). راجِع مرجع getOAuthToken. سيتضمن هذا الرمز المميز نطاقات التفويض المضمنة أثناء تفويض الموصِّل.

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

الوصول إلى عنوان البريد الإلكتروني للمستخدم

في الرمز الخاص بك، يمكنك تحديد المستخدم الفعّال الحالي من خلال Session.getEffectiveUser().getEmail(). اطّلِع على مرجع geteffectiveUser. ستؤدي إضافة هذا الرمز تلقائيًا إلى إضافة نطاق تفويض https://www.googleapis.com/auth/userinfo.email إلى الموصل

مثال: استدعاء واجهات Google APIs باستخدام رمز OAuth المميّز للمستخدم

  • يجلب موصِّل Google Fit البيانات من Google Fit API للمستخدم الفعّال. وأثناء استدعاء واجهة برمجة التطبيقات، تمرر رمز OAuth المميز للمستخدم الفعال. راجِع رمز المصدر للتعرّف على تفاصيل التنفيذ.
  • يستخدم موصِّل Firestore تطبيق Cloud Resource Manager للحصول على قائمة بالمشاريع للمستخدم الفعّال. ويمرر هذا الموصل أيضًا رمز OAuth المميز الفعال للمستخدم. راجِع رمز المصدر للحصول على تفاصيل التنفيذ.

مثال: isAdminUser() استنادًا إلى عنوان البريد الإلكتروني