أرى أنني بحاجة إلى 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؟
أنا أستخدم الكود التالي لإجراء استدعاء 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] ولكن لم يكن لأي منهما أي تأثير.