Ibm cloud Watson物联网平台:无法将标准网关角色分配给设备
我正在尝试根据可用文档将标准网关角色分配给网关设备 但我一直在得到403禁止的错误。我使用的应用程序凭据(api密钥和令牌)具有“操作应用程序”角色,因此具有分配角色的权限 这里有几个运行的脚本,我用伪值替换了org、type、id和tokenIbm cloud Watson物联网平台:无法将标准网关角色分配给设备,ibm-cloud,iot,watson-iot,Ibm Cloud,Iot,Watson Iot,我正在尝试根据可用文档将标准网关角色分配给网关设备 但我一直在得到403禁止的错误。我使用的应用程序凭据(api密钥和令牌)具有“操作应用程序”角色,因此具有分配角色的权限 这里有几个运行的脚本,我用伪值替换了org、type、id和token curl -X PUT \ https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Ad
curl -X PUT \
https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Adummyid/roles \
-H 'authorization: Basic dummyauth' \
-H 'content-type: application/json' \
-d '{
"roles": [
{
"roleId": "PD_STANDARD_GW_DEVICE",
"roleStatus": 1
}
]
}'
回应
HTTP 403禁止
当我尝试获得设备的角色时,它工作正常
curl -X GET \
https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Adummyid/roles \
-H 'authorization: Basic dummyauth' \
回应
{
"results": [
{
"roleId": "PD_PRIVILEGED_GW_DEVICE",
"roleStatus": 1
}
],
"rolesToGroups": {}
}
注意url-您必须使用“g”并对其进行编码。您需要包括一个包含API密钥的基本授权标题(我的是标准应用程序):
@我添加了我使用的脚本。我使用g:而不是d:&还有操作应用程序的API键,它有更多的特权。我在Windows上,curl让我除了简单的GET之外,什么都受不了。我尝试过,但它给出了“CUDAS0002E:处理响应时发生IO错误”。我还尝试了Firefox中的RestClient,效果非常好。
PUT /api/v0002/authorization/devices/g%3AOrgID%3Agatewaytype%3AmyGateway/roles HTTP/1.1
Host: OrgID.internetofthings.ibmcloud.com
Authorization: Basic removed
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: removed
{
"roles": [
{
"roleId": "PD_STANDARD_GW_DEVICE",
"roleStatus": 1
}
],
"rolesToGroups": {}
}