モデレーターとして、DiscourseフォーラムのAPIを使用したいと考えています。通常は有効になっており、APIキーを取得できました。このスクリプトを使用しました。
32文字のキー(これで正しいですか?)を取得でき、アカウントのセキュリティ設定では、アプリは次の権限で表示されます。
すべて読み取る
すべて書き込む
ライブアップデート
外部サービスへのプッシュ通知
通知の読み取りとクリア
ユーザーセッション情報の読み取り
ワンタイムログイントークンの作成
これはかなり良さそうです。しかし、次のようなスクリプトでアクセスしようとすると:
from pydiscourse import DiscourseClient
client = DiscourseClient(
'https://forum.example.com',
api_username='tflidd',
api_key='388b79103056fede1d3223dae032df99')
client.user("tflidd")
これはPythonライブラリなので、機能するはずです。api_keyは実際のキーではなく、この特定の形式です。ユーザー名またはAPIキーが無効であるというエラーが発生します。
ユーザー名を使用しますか、それともアプリ名を使用しますか?
APIキーは少なくとも正しい形式ですか、それとも何かを復号化する際に問題が発生しましたか?
ここで説明されているようにcurlを使用すると(Discourse-user-notes API - #4 by codetricity
curl https://forum.example.com/t/95783.json\ -H 'Api-Key: 388b79103056fede1d3223dae032df99'\ -H 'Api-Username: tflidd'
次のようなエラーも発生します。
{"errors":["You are not permitted to view the requested resource. The API username or key is invalid."],"error_type":"invalid_access"}
Webブラウザでログインしている状態で同じURLをJSONで開くと、正しいJSONオブジェクトが表示されます。したがって、トピックは存在し、アクセス権限もあります(これは公開トピックでした)。
私は単なるモデレーターであり、直接の管理者アクセス権はありません。ログから追加情報を要求できますが、何を探すべきかのヒントがあれば教えてください。
もし関係があれば、インストールされているバージョンは次のとおりです。3.2.0.beta4-dev