تحديث حقل المستخدم المخصص عبر واجهة برمجة التطبيقات

لقد كنت أحاول هندسة عكسية لتحديث قيمة حقل المستخدم.

لقد فعلت ذلك باتباع الخطوات الموجودة في https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576، قمت بتحرير مستخدم اختبار وسجلت ما كان يحدث في علامة التبويب الشبكة في المتصفح.

أرى أنني بحاجة إلى PUT إلى عنوان URL هذا: https://example.com/u/my-username-here.json

حيث أصبحت مرتبكًا بعض الشيء بسبب عدم رؤية حمولة JSON ولكن بدلاً من ذلك هي بعض بيانات النماذج. كانت الحمولة: user_fields%5B1%5D=some+dji%2C+some+Autel\u0026user_fields%5B5%5D=%40UKDroneClub\u0026user_fields%5B6%5D=%40iKiteFlyer\u0026user_fields%5B8%5D=test\u0026timezone=Europe%2FLondon\u0026default_calendar=none_selected

أرغب فقط في تحديث قيمة حقل مستخدم واحدة،

إنها مشفرة بعنوان URL: user_fields%5B8%5D=test

وبعد فك تشفيرها، تقرأ: user_fields[8]=test

(8 = معرف حقل المستخدم الذي أريد تحديثه)

كيف يمكنني تحويل قيمة بيانات النموذج هذه إلى حمولة JSON حتى أتمكن بعد ذلك من PUT؟ :thinking:

إعجابَين (2)

لست متأكدًا مما أفعله بشكل خاطئ هنا ولكني قادر على تحديث قسم “نبذة عني” في ملف تعريف المستخدم عبر استدعاء API، لكن لا يمكنني تحديث أي من user_fields.

إذا قمت بمراقبة متصفحي عند تحرير مستخدم، يمكنني رؤية PUT التالي:

bio_raw=aboutmetest&user_fields%5B1%5D=some+dji%2C+some+Autel&user_fields%5B5%5D=%40UKDroneClub&user_fields%5B6%5D=%40iKiteFlyer&user_fields%5B8%5D=qwerty&timezone=Europe%2FLondon&default_calendar=none_selected

أنا أستخدم الكود التالي لإجراء استدعاء PUT API الخاص بي:

' إضافة بعض الرؤوس
request.AddHeader("Content-Type", "application/x-www-form-urlencoded")
request.AddHeader("Accept", "application/json")
request.AddHeader("Api-Key", strAPIKey)
request.AddHeader("Api-Username", strUsername)

' إضافة بعض معلمات جسم النموذج
request.AddParameter("bio_raw", DateTime.Now())
request.AddParameter("user_fields%5B8%5D", DateTime.Now())
'request.AddParameter("user_fields[8]", DateTime.Now())

في كل مرة أقوم فيها باستدعاء API، وبالتأكيد، يتم تحديث قيمة bio_raw إلى الطابع الزمني الحالي (كاختبار).

ولكن لسبب ما، لا يتم تحديث قيمة user_fields[8] على الإطلاق. لا توجد أخطاء، إنها ببساطة لا يتم تحديثها.

لقد جربت كليهما، ترميز URL كـ user_fields%5B8%5D وحاولت أيضًا كنص عادي user_fields[8] ولكن لم يكن لأي منهما أي تأثير.

هل أفوت شيئًا واضحًا هنا؟ :thinking:

آآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآآ

6 إعجابات

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