オーナーを追加するRest APIが動作しなくなりました

以前はREST APIを使用してグループのオーナーを更新していましたが、これは現在機能していないようです(グループは確実に存在します)。

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のアップグレードによって破損したようです。このAPIはDiscourse APIページに含まれていないため、何が変更されたのかを知る方法がわかりません。

多くのエンドポイントは文書化されていませんが、Reverse engineer the Discourse API

私の場合、最新のDiscourseバージョンでリクエストは正常に動作します。

APIキーが無効になったのだと推測します。

それも考えましたが、無効なキーまたはユーザー名の場合は通常 403 が返され、404 は返されません :person_shrugging:

問題を見つけました。

正しいURLは /admin/ がない https://forums.mysite.uk/groups/1949/owners です。

「いいね!」 2

また、フォームではなくJSONを送信していることをサーバーに伝える必要があります。

「いいね!」 3

問題解決にご協力いただいた皆様、ありがとうございました。遅くなり申し訳ありません。

「いいね!」 1

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