Ryan_NR
(Ryan)
1
여러분 안녕하세요 - 저는 저희 Discourse 인스턴스의 관리자 사용자입니다. 그런데 특정 엔드포인트에 쿼리를 실행할 수 없습니다.
가끔은 이런 메시지가 표시됩니다:
다른 경우에는 You need to be logged in to do that(이 작업을 수행하려면 로그인해야 합니다)라는 메시지가 표시됩니다.
사용 중인 API 키가 제 관리자 계정에 연결되어 있고, API_Username이 제 사용자 이름임을 확인했습니다. 이 문제에 대해 조언을 주실 수 있을까요?
제 추측은 호출이 자격 증명을 올바르게 전송하지 못하고 있다는 것입니다.
blake
(Blake Erickson)
3
쿼리 매개변수 대신 요청 헤더에 API 자격 증명을 전달하는 것을 시도해 볼 수 있습니다. API 문서 주제에 예시가 나와 있을 것입니다.
Ryan_NR
(Ryan)
4
그럴 수도 있겠네요 - 확신은 없습니다 - 제가 현재 사용하고 있는 설정은 여기에서 다운로드한 Postman 컬렉션입니다:
API 키, 사용자 이름, 기본 URL만 변경했을 뿐입니다.
이 컬렉션이 더 이상 유효하지 않나요?
Ryan_NR
(Ryan)
7
@blake - 요청 헤더로 자격 증명을 전달해도 동일한 결과가 반환됩니다:
{
"errors": [
"You are not permitted to view the requested resource."
],
"error_type": "invalid_access"
}
blake
(Blake Erickson)
8
다음 curl 명령을 사용하여 메타에서 그룹 멤버 API 요청이 작동하도록 만들 수 있었습니다:
curl -i -sS -X GET "https://meta.discourse.org/groups/my-private-group/members.json" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: key" \
-H "Api-Username: username"
Postman에서 ‘Copy as cURL’ 기능을 사용해 이 명령을 가져와 비교해 보시면 좋겠습니다.