لقد استخدمت discourse-oauth2-basic للسماح لأعضائنا بتسجيل الدخول وتعبئة قيم البريد الإلكتروني والاسم الكامل واسم المستخدم تلقائيًا من حسابهم المؤسسي في Office365. إلا أنني أواجه صعوبة في تعبئة الصورة الرمزية (avatar)، وأتساءل عما إذا كان أي شخص قد نجح في تحقيق ذلك؟
تقترح إرشادات Graph هنا أن رابط الصورة الرمزية يجب أن يكون متاحًا في photo/$value؛ وقد قمت بإدخاله، لكنه لا يتم إرجاعه، ولا أرى أي أخطاء في السجلات.
يقتصر مكون OAuth2 الإضافي على طلب البيانات من نقطة نهاية واحدة فقط (عنوان URL الخاص ببيانات JSON للمستخدم في OAuth2). تشير جميع إعدادات json *** path إلى مواقع داخل بيانات JSON، وليس إلى نقاط نهاية API منفصلة.
شكرًا لك على التحقق من ذلك، @david. دفعني ذلك لأرى ما إذا كان بإمكاني ‘استرجاع’ (fetch) الصورة ضمن ملف تعريف المستخدم JSON. يبدو أن معامل استعلام OData للتوسيع غير مدعوم للصورة، رغم أنها تظهر كرابط URL إذا أرفقت /$value بها:
…لا يمكنك استخدام $expand على علاقة user/photo.
لم أستطع إيجاد طريقة لعكس ذلك؛ لذا بدلاً من https://graph.microsoft.com/beta/me?$expand=photo أن تصبح شيئًا مثل https://graph.microsoft.com/beta/me/photo/$value?$expand=mail,displayName. اهتزاز، ألعاب خارج العربة، غضب.
ربما يمكننا استخدام موقع ‘mail’ في بيانات JSON لبناء رابط الصورة، والذي يكون ثابتًا دائمًا على النحو التالي: