2017-09-08 3 views
2

API가 GET /v3/identity/token 인 토큰을 생성했습니다. 이제 PUT API를 활용하여 토큰을 활성 상태로 유지하려고합니다. '(예기치 않은 문자 : [잘못된 JSON'/ 토큰/V3/정체성을 PUT '요청에 대한watson machine learning api - 토큰 새로 고침 400 오류

: 나는 알리는 400 오류가

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' -d '<token-value>' 'https://ibm-watson-ml.mybluemix.net/v3/identity/token' -v -i --basic --user <username>:<password> 

:

나는이 curl 명령을 시도하고있다 - '(코드 45)) : 음수 부호 다음에 오는 예상 숫자 (0-9), [출처 : [email protected]; 줄 : 1, 열 : 3]]

get 요청에서 반환 된 토큰에는 다른 비영 숫자 값과 함께 대시가 포함됩니다.

get 요청의 토큰을 구문 분석해야합니까? 나는 무엇을 놓치고 있습니까?

+0

신중한 문서가 있는지 잘 모르겠습니까? 시도해 볼 수 있으며 컬 명령을 다시 포맷하여 힌트를 얻을 수 있습니다. https://watson-ml-api.mybluemix.net/#!/Token/put_v3_identity_token JSON 형식을 잘못 지정했거나 큰 따옴표''' –

+1

을 사용해보십시오. curl 명령의 -d 매개 변수 덕분입니다. 형식은 { "token": ""}이며 토큰 값이 아닙니다 ... – damar

답변

3

콘텐츠 유형을 application/json으로 설정해야합니다. 그러나 -d은 Content-Type application/x-www-form-urlencoded을 전송합니다. 은 아마도이 IBM 측에서 허용되지 않습니다.

하지만 JSON (토큰)이 잘못된 형식 인 것으로 보입니다.

토큰 값은 다음과 같은 형식 (JSON) 할 필요가 :

{ 
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" 
} 

그리고 당신은 제대로 전송 형식의 예를 따라야합니다

curl -H 'Content-Type: application/json' -X PUT \ 
-d '{"token":"yourToken"}' \ 
https://ibm-watson-ml.mybluemix.net/v3/identity/token 

공식 reference를 참조하십시오.