여러 API 호출 중 403 오류 발생

사용자를 업데이트하고 정지하기 위해 다음 API를 사용하고 있지만 403 오류가 발생하고 있습니다. 이 오류의 원인이 무엇인지 알려 주실 수 있을까요? 참고로 관리자 사용자의 API 키를 사용하고 있습니다.

Suspend API

`{{base_url}}/admin/users/316/suspend?api_key={{api_key}}&api_username={{api_username}}`

Request BODY

{
    "suspend_until": "3020-04-17",
    "reason": "inactive"
}

Response - 403 Forbidden

이메일 업데이트

{{base_url}}/users/{username}/preferences/email?api_key={{api_key}}&api_username={{api_username}}

Request BODY

{
 "email": "discourse1@example.com"
}

Response - 403 Forbidden

API 키는 URL이 아니라 헤더에 입력해야 합니다.

저도 시도해 보았습니다. BODY-> [“BAD CSRF”]와 동일한 403 Forbidden 오류가 발생합니다.

API 자격 증명은 요청 헤더에 포함되어야 합니다. 또한 헤더 필드 이름에는 밑줄 대신 대시(-)를 사용해야 합니다:

  • api_key는 api-key(또는 Api-Key)로 변경해야 합니다.
  • api_username은 api-username(또는 Api-Username)으로 변경해야 합니다.

규칙은 헤더 필드 이름이 대소문자를 구분하지 않지만, 밑줄이 아닌 대시를 사용해야 한다는 것입니다. (이것은 시행착오를 통해 배웠습니다.) 올바르게 포맷된 API 요청을 확인하려면 Discourse REST API Documentation 상단의 예시를 참고하세요.