2015-12-11 24 views

回答

1

问题不明确。如果我是对的,你想改变账户的用户密码。我会为您提供一些参考,可以帮助你:

首先要改变用户的密码,你可以用:

http://sldn.softlayer.com/reference/services/SoftLayer_User_Customer/updatePassword

注:用户只能更新自己的密码。一个账户的 主用户可以更新他们的任何账户用户的密码。正如我 不知道你用的是什么语言,下面有使用我的帐户的主用户更新孩子的用户一个REST示例 :网址:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_User_Customer/[ User_Customer_ID]/updatePassword 

方法:POST

Json的有效载荷

{ 
"parameters": [ 
"Yourpassword1#" 
] 
} 

要获得用户的信息,你[R账户(即User_Customer_ID),请参阅:

http://sldn.softlayer.com/reference/services/SoftLayer_Account/getUsers

我希望这些信息对您有帮助

+0

我想通过脚本更改多个SoftLayer帐户的密码。该帐户的管理员提供了默认密码,我不想使用该门户一次登录并更改每个帐户密码1。 –

0

我猜你有一个品牌帐户,你已经创建了若干帐户,更改密码所有这些帐户的方法是登录到帐户使用模拟并调用SoftLayer_User_Customer :: updatePassword方法。我有这个例子来登录您品牌中的账户(它使用Softlayer的Ruby客户端和SOAP请求),您需要更改SOAP来调用updatePassword。我希望它有帮助

# Creates new account and create API key for that account 
# 
# The script creates a new account using the createCustomerAccount() method, 
# then the script will create the API key for that account, in order to achieve 
# that goal it is necessary to make soap request because in oder to create 
# the API key we need to call the method addApiAuthenticationKey() using the 
# the credentials of the new account as we do not have that information we are 
# calling the method using impersonation. 
# For perform the impersonation we need the userId and the token for the authentication. 
# For more details please see below. 
# 
# Important manual pages 
# http://sldn.softlayer.com/reference/services/SoftLayer_Account/addApiAuthenticationKey 
# http://sldn.softlayer.com/reference/services/SoftLayer_Account/getApiAuthenticationKeys 
# http://sldn.softlayer.com/reference/services/SoftLayer_Account/getOwnedBrands 
# http://sldn.softlayer.com/reference/datatypes/SoftLayer_Account/ 
# http://sldn.softlayer.com/reference/datatypes/SoftLayer_Brand/ 
# http://sldn.softlayer.com/reference/services/SoftLayer_Brand 
# http://sldn.softlayer.com/reference/services/SoftLayer_Brand/createCustomerAccount 
# http://sldn.softlayer.com/reference/services/SoftLayer_Brand/getUsers 
# http://sldn.softlayer.com/reference/services/SoftLayer_Brand/getToken 
# 
# License: http://sldn.softlayer.com/article/License 
# Author: SoftLayer Technologies, Inc.<[email protected]> require 'softlayer_api' require 'pp' 

# Your SoftLayer API username and key. USERNAME = 'set me' API_KEY = 'set me' ENDPOINT = 'set me' 

# Declaring the API client to use the SoftLayer_Virtual_Guest API service client = SoftLayer::Client.new( username: USERNAME, api_key: API_KEY, endpoint_url: ENDPOINT) 

brand_service = client.service_named('SoftLayer_Brand') account_service = client.service_named('SoftLayer_Account') 

begin # Getting the brand for our account # the account could belong to several brands # you need to select one brand for the new account. brands = account_service.getOwnedBrands 

    # Creating an SoftLayer_Account object which contains the data # of our new account. account_template = { 
    'address1' => '8200 Warden Ave', 
    'city' => 'Markham', 
    'companyName' => 'IBM Bluemix Dedicated', 
    'email' => '[email protected]', 
    'firstName' => 'FirstName', 
    'lastName' => 'Surename', 
    'officePhone' => 'number', 
    'postalCode' => 'L6G 1C7', 
    'state' => 'TX', 
    'brandId' => brands[0]['id'], 
    'country' => 'CA' } 

    # Creating the new account new_account = brand_service.createCustomerAccount(account_template) 

    # Looking for the master user for the new account new_master_user 
= nil users = brand_service.object_with_id(brands[0]['id']).getUsers users.each do |user| 
    if user['accountId'] == new_account['id'] 
     new_master_user = user 
     break 
    end end 

    # Getting the token token = brand_service.object_with_id(brands[0]['id']).getToken(new_master_user['id']) 

    print token # This is the token you need to send to the SOAP request print ' ' print new_master_user['id'] # This is the userId you need to send to the SOAP request 

rescue StandardError => exception puts "Unable to create the new account : #{exception}" end 

# Here call the soap methods 

=begin This is a soap example to create the API key to the account. It will create the API key for the master account of the new account. In case the master account already has an API key the request will return an error. Please replace the values $TOKEN and $USERID 

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header> 
    <ns1:clientLegacySession> 
     <userId>$USERID</userId> 
     <authToken>$TOKEN</authToken> 
    </ns1:clientLegacySession> 
    <ns1:SoftLayer_User_CustomerInitParameters> 
     <id>$USERID</id> 
    </ns1:SoftLayer_User_CustomerInitParameters> </SOAP-ENV:Header> <SOAP-ENV:Body> 
    <ns1:addApiAuthenticationKey/> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 

You Also can execute this SOAP request to get the APIKey of the master account Note: The user should already has the APIKey created 

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header> 
    <ns1:clientLegacySession> 
     <userId>$USERID</userId> 
     <authToken>$TOKEN</authToken> 
    </ns1:clientLegacySession> 
    <ns1:SoftLayer_User_CustomerInitParameters> 
     <id>$USERID</id> 
    </ns1:SoftLayer_User_CustomerInitParameters> </SOAP-ENV:Header> <SOAP-ENV:Body> 
    <ns1:getApiAuthenticationKeys/> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 

=end 
相关问题