خطأ عند محاولة تحديث قائمة المراقبة لمجموعة عبر API (PUT groups/{id}.json)

الأولوية/الخطورة:

متوسطة إلى عالية

المنصة:

سكريبت بايثون بالإضافة إلى أمر سطر الأوامر cURL

إصدار خادم Discourse:

3.6.0.beta3-latest (6adb4f8e84)

الوصف:

عند محاولة تحديث watching_category_ids لمجموعة موجودة، يُبلغ سكريبت بايثون الخاص بي (الذي يستخدم “requests.put” البسيط) عن الخطأ التالي:

_doPut> ERROR from request: 422 Unprocessable Entity {'user_count': 2, 'errors': ['You supplied invalid parameters to the request: update_existing_users']}

على الرغم من عدم وجود أي معامل يسمى update_existing_users في بيانات json الخاصة بي.

باستخدام cURL للتحقق عبر:

curl -k -L -X PUT -H 'api-key:xyz’ \
   -H 'api-username:system'  \
   -H 'Accept:application/json;charset=utf-8'  \
   -H 'Content-Type:application/json'   \
   --data '{\"group\":{\"name\":\"eb-chair-exo\",\"watching_category_ids\":[336,337]}}' \
   https://cms-phys-talk.web.cern.ch/groups/46.json

أحصل على نفس الخطأ:

{“user_count”:2,“errors”:[“You supplied invalid parameters to the request: update_existing_users”]}%

خطوات الاستنساخ:

curl -k -L -X PUT -H 'api-key:xyz’ \
   -H 'api-username:system'  \
   -H 'Accept:application/json;charset=utf-8'  \
   -H 'Content-Type:application/json'   \
   --data '{\"group\":{\"name\":\"eb-chair-exo\",\"watching_category_ids\":[336,337]}}' \
   https://cms-phys-talk.web.cern.ch/groups/46.json

تعديل: تمت إضافة إصدار خادم Discourse