La API Rest para agregar propietarios ha dejado de funcionar

Solía utilizar la API REST para actualizar los propietarios de los grupos. Esto parece haber dejado de funcionar (aunque los grupos existen definitivamente):

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"}

Esto solía funcionar bien, pero una actualización de Discourse parece haberlo roto. Como esta API no está incluida en la página de la API de Discourse, no estoy seguro de cómo averiguar qué ha cambiado.

Muchos puntos finales no están documentados, pero puedes Reverse engineer the Discourse API fácilmente.

Para mí, la solicitud funciona en la última versión de Discourse:

Mi suposición es que tu clave de API ya no es válida.

Lo pensé, pero una clave o un nombre de usuario no válidos normalmente devuelven un 403, no un 404 :person_shrugging:

Encontré el problema:

La URL correcta es https://forums.mysite.uk/groups/1949/owners, sin el /admin/.

2 Me gusta

También querrás decirle al servidor que estás enviando json, no un formulario.

3 Me gusta

Solo quería agradecer a todos por resolver mi problema. ¡Disculpen y muchas gracias!

1 me gusta

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