使用REST API在SoftLayer中创建Portal用户

时间:2017-01-10 21:20:13

标签: ibm-cloud-infrastructure

我正在尝试进行REST API调用以在SoftLayer平台上创建帐户。但是,即使我为电子邮件提供了价值,它也会不断返回以下消息:

  

{“error”:“缺少电子邮件地址。”,“代码”:“SoftLayer_Exception_Public”}

我正在尝试执行以下方法:
http://sldn.softlayer.com/reference/services/SoftLayer_User_Customer/createObject

我正在使用curl来设置POST REST调用,如下所示:

curl -H "Content-Type: application/json" --data @User-Account-Create.json https://<USER>:<API_KEY>@api.softlayer.com/rest/v3/SoftLayer_User_Customer/createObject

User-account-Create.json的内容如下:

{
"parameters" : [
    {
            "email": "user@server.com",
            "address1": "address1",
            "city": "Toronto",
            "companyName": "Company",
            "country": "CA",
            "firstName": "Dickson",
            "lastName": "Fu",
            "secondaryLoginManagementFlag": true,
            "managedByOpenIdConnectFlag": true,
            "openIdConnectUserName" : "user@server.com",
            "permissionSystemVersion": 0,
            "timezoneId": 8,
            "username" : "user@server.com",
            "userStatusId": 0
    }
]

}

BTW,我找不到可以在“permrissionSystemVersion”,“timezoneId”和“userStatusId”属性上设置的值的引用。如果有人能指出我,那就太好了。

由于

1 个答案:

答案 0 :(得分:0)

获取时区标识符:

curl -H "Content-Type: application/json" https://<USER>:<API_KEY>@api.softlayer.com/rest/v3/SoftLayer_Locale_Timezone/getAllObjects

获取用户状态标识符:

curl -H "Content-Type: application/json" https://<USER>:<API_KEY>@api.softlayer.com/rest/v3/SoftLayer_User_Customer_Status/getAllObjects

关于: permissionSystemVersion ,没有必要发送此属性,它将自动填充值:2

如果要向用户添加权限,则需要使用以下方法:

这是一个模板的例子,它工作正常:

{
"parameters" : [
    {
            "email": "user4@server.com",
            "address1": "address1",
            "city": "Toronto",
            "companyName": "Company",
            "country": "CA",
            "firstName": "Dickson",
            "lastName": "Fu",
            "secondaryLoginManagementFlag": true,
            "managedByOpenIdConnectFlag": true,
            "openIdConnectUserName" : "user@server.com",
            "timezoneId": 117,
            "username" : "user4@server.com",
            "userStatusId": 1001
    }
]
}

请尝试一下,让我知道您的结果,或者如果您需要进一步的帮助