지금 이 문제를 겪고 있는 사람이 더 있나요? 2일 동안 API를 사용하려고 시도하고 있지만, 매번 비슷한 오류가 발생합니다. 제가 단계를 놓치고 있는지, 아니면 무언가 변경되었는지 확실하지 않습니다.
system 사용자를 위한 새로운 API 키를 생성했습니다. 또한 모든 사용자를 위한 API 키를 생성한 후 관리자 계정을 사용해 보기도 했습니다.
discourse_api Ruby 제보를 사용했습니다:
DiscourseApi::UnauthenticatedError ({"errors"=>["You are not permitted to view the requested resource. The API username or key is invalid."], "error_type"=>"invalid_access"})
다른 게시물에서 가져온 이 코드로도 시도해 보았습니다:
require 'net/http'
require 'uri'
INSTANCE_URL = 'https://forum.example.com/admin/users/list/all.json?email=user@example.com'
API_USERNAME = 'system'
API_KEY = 'a_new_api_key_here'
def send_request
url = URI.parse(INSTANCE_URL)
request = Net::HTTP::Get.new(url.path)
request.set_form_data({'api_username' => API_USERNAME, 'api_key' => API_KEY})
http = Net::HTTP.new(url.host, url.port)
response = http.request(request)
if response.code == '200'
puts "Success!"
else
puts "Error"
puts response.code
end
end
send_request # 400
api_username과 api_key를 폼 데이터에 포함시켜 원시 요청으로 API를 사용하려고 시도해 보았지만, 404 오류가 발생합니다.
이메일 주소 목록을 읽어들이고, 사용자 이름을 가져온 다음, 모든 Discourse 이메일에서 구독을 취소하는 스크립트를 작성하려고 하고 있습니다.