Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm cloud Watson物联网平台:无法将标准网关角色分配给设备_Ibm Cloud_Iot_Watson Iot - Fatal编程技术网

Ibm cloud Watson物联网平台:无法将标准网关角色分配给设备

Ibm 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

我正在尝试根据可用文档将标准网关角色分配给网关设备

但我一直在得到403禁止的错误。我使用的应用程序凭据(api密钥和令牌)具有“操作应用程序”角色,因此具有分配角色的权限

这里有几个运行的脚本,我用伪值替换了org、type、id和token

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": {}
}