Я экспериментирую с программной оболочкой API-клиента в моем приложении Node Express. Моя цель - обновить пароль VPN для User_Customer, вызвав метод updateVpnPassword для конкретного пользователя.
Я могу создать вызов для обновления пароля VPN, используя request
, но я не уверен, что это лучший способ достичь желаемого результата.
Можно ли использовать модуль softlayer-client для аналогичного вызова:
function updateVpnPassword(req, res, next) {
// Construct URL to update VPN
myURL = 'https://' + <userIDAdmin> + ':' + <apiKeyAdmin> + '@api.softlayer.com/rest/v3/SoftLayer_User_Customer/' + <softLayerID> + '/updateVpnPassword/' + <newPassword> + '.json';
request.get({url: myURL}, function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
next();
}
Первоначально я пытался попробовать варианты этого:
function updateVpnPassword(req, res, next) {
// Assuming var client = new SoftLayer();
client
.auth(<userIDAdmin>, <apiKeyAdmin>)
.path('User_Customer', <softLayerID>,'updateVpnPassword')
.parameters(<newPassword>)
.put(function(err,result){
console.log(result);
if (err) {
next(err); // Pass errors to Express.
}
else {
// update successful
}
});
next();
}
Но журнал консоли выдает сообщение об ошибке, подобное
{ message: { error: 'Internal Error', code: 'SoftLayer_Exception_Public' } }
.
Я ожидаю, что ответ ИСТИНА или ЛОЖЬ указывает на успешность обновления.
Подобный клиент Python можно найти здесь , но мне требуется реализация в JS.