こんにちは、皆さん。Discourse インスタンスの管理者ユーザーですが、特定のエンドポイントをクエリできません。
時には、このようなエラーが表示されます:
また、別の時は「その操作を行うにはログインが必要です」というメッセージが表示されます。
使用している API キーが自分の管理者ユーザーに紐付いていること、また API_Username が自分のユーザー名であることを確認しました。何かアドバイスはありますか?
私の推測では、認証情報が正しく送信されていないのでしょうか?
リクエストのヘッダーに API 認証情報を渡し、クエリパラメータに渡す代わりに試してみてください。API ドキュメントのトピックに例があるはずです。
そうかもしれませんね。確信はありませんが、私が使っている設定は、ここからダウンロードした Postman コレクションだけです。
API キー、ユーザー名、ベース URL を変更しただけです。
このコレクションはもう無効になっているのでしょうか?
@blake さん、ありがとうございます。試してみます。
はい、いくつかは多分古くなっているでしょう。
@blake - リクエストヘッダーに認証情報を渡しても、同じ結果が返されます:
{
"errors": [
"リクエストされたリソースを表示する権限がありません。"
],
"error_type": "invalid_access"
}
この curl コマンドで、Meta 上のグループメンバー API リクエストを動作させることができました:
curl -i -sS -X GET "https://meta.discourse.org/groups/my-private-group/members.json" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: key" \
-H "Api-Username: username"
Postman で「curl コマンドとしてコピー」機能を使って比較してみることをお勧めします。