首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watson物联网平台:无法为设备分配标准网关角色

Watson物联网平台:无法为设备分配标准网关角色
EN

Stack Overflow用户
提问于 2017-04-20 14:42:01
回答 1查看 77关注 0票数 0

我正在尝试根据docs available https://docs.internetofthings.ibmcloud.com/apis/swagger/v0002-beta/security-gateway-beta.html#!/Limited_Gateway/put_authorization_devices_deviceId_roles为网关设备分配标准网关角色

但我一直收到403禁止的错误。我使用的是应用程序凭据(api密钥和令牌),它具有"Operations application“角色,因此具有分配角色的权限。

下面是一些正在运行的脚本,其中我用虚拟值替换了org、type、id和token

代码语言:javascript
复制
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已禁用

当我尝试获取设备的角色时,它工作得很好

代码语言:javascript
复制
curl -X GET \
  https://dummyorg.internetofthings.ibmcloud.com:443/api/v0002/authorization/devices/g%3Adummyorg%3Adummytype%3Adummyid/roles \
  -H 'authorization: Basic dummyauth' \

响应

代码语言:javascript
复制
{
  "results": [
    {
      "roleId": "PD_PRIVILEGED_GW_DEVICE",
      "roleStatus": 1
    }
  ],
  "rolesToGroups": {}
}
EN

回答 1

Stack Overflow用户

发布于 2017-04-20 16:16:05

注意url -你必须使用'g‘并且你必须对它进行编码。您需要包含一个基本的Authorisation,其中包含您的API密钥(我的是标准应用程序):

代码语言:javascript
复制
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": {}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43512056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档