在客户门户中创建设备时,我找不到任何标记设备的选项,因此我使用Why does $var where var="foo bar" not do what I expect? Rest API标记设备:
var hdPrimUserFirstRegList =
JsonConvert
.DeserializeObject<List<hdPrimUserFirstRegModel>>(pageVM.hdPrimUserFirstReg );
var projectsNames = hdPrimUserFirstRegList.Select(x=>x.ProjectName).toList();
但是得到错误说:
{“error”:“您无权标记此对象。”,
“code”:“SoftLayer_Exception_PermissionDenied”}
答案 0 :(得分:1)
您发送正文的方式有误(标记参数丢失且 keyName 的值不正确),请尝试以下操作:
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/setTags
Method: Post
{
"parameters":[
"tag1,tag2",
"GUEST",
29756959
]
}
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/setTags
Method: Post
{
"parameters":[
"tag1,tag2",
"HARDWARE",
29756959
]
}
<强>更新强>
要设置标记,您需要检查以下内容:
- 访问设备
- 醇>
为设备类型(Vsi /硬件)启用了权限:
- 硬件 - &gt; 查看硬件详细信息
- VSI - &gt; 查看虚拟服务器详细信息
目前无法设置标签下订单,您可以在提交订单后设置它们
设备&gt;&gt;设备列表&gt;&gt;搜索设备(例如:rcvtagtest)
另一种方法是通过API下订单,在此时可以通过它设置标签来创建服务器,这里是VSI的一个例子:
<强> Updated2 强>
SoftLayer_Tag::getTagByTagName方法提供有关标记的信息,而不是标记有此标记的设备。
它将根据标签名称提供标签中的信息,因此没有必要发送标识符,因此正确的方法是:
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Tag/getTagByTagName
Method: Post
{
"parameters":[
"test1,test2"
]
}
替换: $ user,$ apiKey 包含您自己的信息, test1 和 test2 包含您要检索的标记名称< / p>
如果您想要检索设备,请查看此论坛(对于Vsis,同样的想法应该应用于BMS):
如果这对您没有帮助,请提供有关您的要求的更多信息,以便我能为您提供帮助