你好,我有一个 Rails 应用,它不允许我的管理员用户(已配置 API 密钥)对主题执行 GET/PUT 类别操作。
在创建 API 密钥时,我将其设置为适用于“所有用户”。无论如何,我尝试操作的主题是由我使用的凭据所属的同一用户创建的。
这对我来说不太合理。这是响应内容:
{"errors"=>["您无权查看请求的资源。"], "error_type"=>"invalid_access"}
这是我的代码:
endpoint = "/t/604.json" # 这是主题编号 604
username = "Instagram_Fans" # 带有 API 密钥的管理员用户。同时也是原发帖人
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