واجهات برمجة التطبيقات REST لإضافة الملاك توقفت عن العمل

كنت أستخدم واجهة برمجة التطبيقات REST لتحديث مالكي المجموعات. يبدو أن هذا توقف عن العمل الآن (على الرغم من أن المجموعات موجودة بالتأكيد):

Method: PUT, RequestUri: 'https://forums.mysite.uk/admin/groups/1949/owners', Version: 1.1, Content: System.Net.Http.FormUrlEncodedContent, Headers:
{
  Api-Key: <redacted>
  Api-Username: admin
  Accept: application/json
  User-Agent: BasecampGatewayLive
  Content-Type: application/x-www-form-urlencoded
}:
{
  "group": {
    "usernames": "kay"
  }
}
StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Server: nginx/1.22.1
  Date: Thu, 23 Jan 2025 02:03:44 GMT
  Transfer-Encoding: chunked
  Connection: keep-alive
  Vary: Accept-Encoding
  Vary: Accept
  X-Request-ID: 8e5dcf66-c4e0-4d4f-a382-dacb774691c3
  X-Runtime: 0.004369
  Strict-Transport-Security: max-age=31536000; includeSubDomains
  Content-Type: application/json; charset=utf-8
}
{"errors":["The requested URL or resource could not be found."],"error_type":"not_found"}

لقد كان هذا يعمل بشكل جيد، ولكن يبدو أن ترقية Discourse قد كسرتها. نظرًا لأن واجهة برمجة التطبيقات هذه غير مدرجة في صفحة واجهة برمجة تطبيقات Discourse، لست متأكدًا من كيفية معرفة ما تغير.

العديد من نقاط النهاية غير موثقة، ولكن يمكنك Reverse engineer the Discourse API بسهولة.

بالنسبة لي، يعمل الطلب على أحدث إصدار من Discourse:

تخميني هو أن مفتاح واجهة برمجة التطبيقات الخاص بك لم يعد صالحًا.

فكرت في ذلك، ولكن مفتاحًا أو اسم مستخدم غير صالح يعيد عادةً 403، وليس 404 :person_shrugging:

لقد وجدت المشكلة:

عنوان URL الصحيح هو https://forums.mysite.uk/groups/1949/owners، بدون /admin/.

إعجابَين (2)

ستحتاج أيضًا إلى إخبار الخادم بأنك ترسل json، وليس نموذجًا.

3 إعجابات

لقد لاحظت للتو أنني لم أشكر الجميع على حل مشكلتي. آسف، وشكراً جزيلاً!

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

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