كيف يمكنني تحديث المستخدمين عبر API باستخدام user id (وليس username)؟

أود أن تُحدِّث طلبيتي حساب مستخدميك المرتبط بمنصة Discourse: وتحديداً اسم العرض والمجموعات التي ينتمي إليها المستخدم (على سبيل المثال، عندما يتم ترقية المستخدم في طلبيتي، يتم إضافته أيضاً إلى مجموعة أخرى في المنتدى).

توقعت أن أقوم بتخزين مرجع لـ “معرف عضو Discourse” في جدول المستخدمين الخاص بطلبيتي، واستخدامه لإجراء التحديثات، مثل POST /users/{id}.json مع حمولة مثل {"name": "new name"}. لكن يبدو أن جميع مسارات الـ API تتوقع username بدلاً من id.

لا أفهم لماذا يُعد هذا هو الافتراضي: ألا يمكن للمستخدمين تغيير اسم المستخدم؟ يبدو أن ذلك سيؤدي إلى تعطيل التكامل إذا قاموا بذلك.

كيف يمكنني إجراء تغييرات مثل هذه بشكل موثوق، باستخدام معرف ثابت (مثل id

إعجابَين (2)

في الوقت الحالي، أعتقد أن خيارك الأفضل هو إجراء طلبين لـ API. أحدهما لـ جلب المستخدم حسب المعرف للحصول على اسم المستخدم، والطلب الثاني لتحديثه حسب اسم المستخدم.

هناك خيار لتحديث المستخدم عبر external_id، لكنني لا أعتقد أنه يمكن استخدامه دون تفعيل تسجيل الدخول الموحد (single-sign-on)، بهذه الطريقة يقوم Discourse بتخزين معرف المستخدم الخاص بتطبيقك بدلاً من العكس.

إعجابَين (2)

شكرًا لك، لقد مررت بلحظة إلهام مشابهة بعد النشر.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.