Machine learning watson机器学习api-令牌刷新400错误

Machine learning watson机器学习api-令牌刷新400错误,machine-learning,ibm-cloud,ibm-watson,Machine Learning,Ibm Cloud,Ibm Watson,我已经使用GET/v3/identity/tokenAPI成功地生成了一个令牌。我现在希望能够利用PUT API来保持令牌的活动状态 我正在尝试此curl命令: curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' -d '<token-value>' 'https://ibm-watson-ml.mybluemix.net/v3/identity/token

我已经使用
GET/v3/identity/token
API成功地生成了一个令牌。我现在希望能够利用PUT API来保持令牌的活动状态

我正在尝试此curl命令:

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-X PUT--header'Content-Type:application/json'--header'Accept:application/json'-d''https://ibm-watson-ml.mybluemix.net/v3/identity/token'-v-i--basic--user:
我得到一个400错误,说明:

对于请求“PUT/v3/identity/token”[无效Json:数值中的意外字符('-'(代码45)]:期望数字(0-9)跟在减号后面,对于[Source:akka.util.ByteInterator$ByteArrayInterator$$anon]处的有效数值$1@18bd12ef;行:1,列:3]]

get请求返回的令牌中包含破折号字符以及其他非alphnumeric值


是否需要解析get请求中的令牌?我缺少什么?

您需要将内容类型设置为
application/json
。但是
-d
发送内容类型
application/x-www-form-urlencoded
,这在IBM方面可能不被接受

但是,您的JSON(令牌)格式似乎不正确

令牌值需要采用以下格式(JSON):

您需要遵循正确发送格式的示例:

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

请参阅官方文件。

不确定您是否了解招摇过市文档。您可以在那里尝试,也许可以获得有关如何重新格式化curl命令的提示。可能您的JSON格式不正确,或者尝试使用双引号
谢谢,这是curl命令中的-d参数。格式是{“token”:“”},而不仅仅是token值。。。
curl -H 'Content-Type: application/json' -X PUT \
-d '{"token":"yourToken"}' \
https://ibm-watson-ml.mybluemix.net/v3/identity/token