개발햄비

[에러해결] watson Assistant API 요청시 apikey header로 날리기 본문

개발/버그 해결 기록

[에러해결] watson Assistant API 요청시 apikey header로 날리기

개발햄 2019. 4. 24. 20:22

 

$ curl -X POST -u "apikey:apikey" --header "Content-Type:application/json" --data "{\"input\": {\"text\": \"Hello\"}}" "https://gateway.watsonplatform.net/assistant/api/v1/workspaces/{workspace_id}/message?version=2019-02-28"

 

$ -u "apikey:{apikey}

를 header로 날리기 위해 base64 encoding 이 필요했다.

 

 

해결 방안

 

 

$ echo "$(echo -n 'apikey: 넣고자 하는 API_KEY | base64)"

 

를 날리면

 

다음과 같이 변화가 된다.

 

YXBpa2V5OkNXTWMtOHF5NFI1QV9SV----------------------------------------------

 

 *보안을 위해 점선 처리.

 

입력 예 :

 

$ curl -X POST --header "Authorization:Basic <apikey:변화한 인증키 >" --header "Content-Type:application/json" --data "{\"input\": {\"text\": \"안녕하세요\"}}" "https://gateway-tok.watsonplatform.net/assistant/api/v1/workspaces/워크스페이스 키/message?version=2019-02-28"

 

 

$ curl -X POST --header "Authorization:Basic YXBpa2V5OkNXTWMtOHF5NFI1QV9SV----------------------------------------------i" --header "Content-Type:application/json" --data "{\"input\": {\"text\": \"안녕하세요\"}}" "https://gateway-tok.watsonplatform.net/assistant/api/v1/workspaces/워크스페이스 키/message?version=2019-02-28"

 

를 전송하면

 

header를 통해서 API 인증을 성공할 수 있다