ユーザーの更新と停止に以下の API を使用していますが、403 エラーが発生しています。このエラーの原因についてご教示ください。参考までに、管理者ユーザーの API キーを使用しています。
停止 API
{{base_url}}/admin/users/316/suspend?api_key={{api_key}}&api_username={{api_username}}
リクエスト BODY
{
"suspend_until": "3020-04-17",
"reason": "inactive"
}
レスポンス - 403 Forbidden
メール更新
{{base_url}}/users/{username}/preferences/email?api_key={{api_key}}&api_username={{api_username}}
リクエスト BODY
{
"email": "discourse1@example.com"
}
レスポンス - 403 Forbidden
pfaffman
(Jay Pfaffman)
2020 年 4 月 17 日午後 12:55
2
API キーは URL ではなく、ヘッダーに含めてください。
「いいね!」 2
試してみましたが、同じく 403 Forbidden エラーが発生します。BODY に [“BAD CSRF”] と表示されます。
simon
2020 年 4 月 17 日午後 4:17
4
API 認証情報はリクエストヘッダーに含める必要があります。また、ヘッダーフィールド名ではアンダースコア(_)ではなくダッシュ(-)を使用してください。
api_key は api-key(または Api-Key)に変更する必要があります。
api_username は api-username(または Api-Username)に変更する必要があります。
ルールとして、ヘッダーフィールド名は大文字小文字を区別しませんが、アンダースコアではなくダッシュを使用する必要があります。(私はこのことを痛い目に遭って学びました。)正しくフォーマットされた API リクエストの例は、Discourse REST API Documentation の上部をご覧ください。
「いいね!」 4