こんにちは、Rails アプリで、設定した API キーを持つ管理者ユーザーがトピックのカテゴリを GET/PUT できないという問題が発生しています。
API キーを作成する際に「すべてのユーザー」に設定しました。なお、操作しようとしているトピックは、現在使用している認証情報を持つユーザー自身が作成したものです。
この状況は理にかなっていないように思えます。返されたレスポンスは以下の通りです:
{"errors"=>["You are not permitted to view the requested resource."], "error_type"=>"invalid_access"}
コードは以下の通りです:
endpoint = "/t/604.json" # トピック番号 604
username = "Instagram_Fans" # API キーを持つ管理者ユーザー。かつ投稿者(OP)
USERNAME = "Instagram_Fans"
BASE_URL = "http://localhost:3002" # Discourse の開発用 URL
API_KEY = "****"
def self.categorize_topic_as_deleted(endpoint)
body = {"category_id" => 79} # トピックに適用しようとしているカテゴリ
username ||= USERNAME
response = Faraday.put(BASE_URL + endpoint) do |req|
req.body = body
req.headers['Api-Key'] = API_KEY
req.headers['Api-Username'] = username
end
handle_response(response)
end