こんにちは、
write、read、read lists スコープを持つ管理者発行の API キーを生成しました。しかし、このキーをヘッダー Api-Key に追加して {{localhost}}/posts.json エンドポイントにアクセスしようとすると、以下のエラーが発生します。
"errors": [
"You are not permitted to view the requested resource. The API username or key is invalid."
],
"error_type": "invalid_access"
}
一方、グローバルキーを生成すると、そのエンドポイントにアクセスできます。{{localhost}}/posts.json を読み取るために必要な正しい(最小限の)スコープは何でしょうか?
simon
2
まだテストはしていませんが、お見かけになっているのは想定された動作だと思います。各 API キーのスコープの隣に表示されるアンカーボタンをクリックすると、そのスコープでアクセスできるパスを確認できます。read スコープは /t で始まるルートにのみ適用されていることがわかります。read lists スコープは Discourse のトピックリストへのアクセスを許可します。/posts.json へのアクセスを特別に許可するスコープは存在しないため、その場合はグローバルキーを使用する必要があるようです。
/posts.json を read スコープに追加することは理にかなっているでしょうか。
こんにちは、Simon さん!返信とご説明ありがとうございます。私のユースケースでは /posts.json から投稿を読み取る必要がありますが、同時に可能な限り侵入性を抑え、読み取り専用アクセスのみを要求したいと考えています。何か回避策はありますでしょうか?
simon
4
公開投稿のみをクエリしている場合、/posts.json に対して認証なしの API リクエストを送信できる可能性があります。ただし、サイトが非公開の場合や、投稿が保護されたカテゴリに含まれている場合は、現在、投稿を取得できる唯一の方法はグローバル API キーを使用することです。
riking
(Kane York)
5
新しいスコープか、これをreadに追加するかどちらかについての#pr-welcomeだと思います。