При попытке войти в textnow через API с использованием правильного имени пользователя и пароля возникает следующая ошибка:
UnhandledPromiseRejectionWarning: Error: 401 Unauthorized
at _response.transport.request.then (E:\nodejs\node_modules\snekfetch\src\index.js:193:21)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:19732) UnhandledPromiseRejectionWarning: Unhandled promise rejection.
This error originated either by throwing inside of an async function without
a catch block, or by rejecting a promise which was not handled with .catch().
(rejection id: 2)
Ниже приведен код используемого API-интерфейса:
module.exports.textnowLogin = (email, password) => {
return new Promise((resolve, reject) => {
let json = { "password": password, "username": email };
let queryEndpoint = "sessions?client_type=TN_ANDROID";
let signature = md5(`${tnSignatureKey}POST${queryEndpoint}${JSON.stringify(json)}`);
snekfetch.post(`https://api.textnow.me/api2.0/${queryEndpoint}&signature=${signature}`)
.set("Content-Type", "application/json")
.send(json)
.then((result) => {
return resolve(result.body);
}).catch(reject);
});
};
Вот как я использую этот метод в моем js-файле:
const textNow = require('textnow-api');
textNow.login(username, password).then(client => {
console.log(`Logged in as ${client.username}`);
});`
Это определенно должно быть проблемой на стороне сервера, нет?Что-то должно быть не так на конце Textnow.Что я могу сделать, чтобы обойти это?
РЕДАКТИРОВАТЬ: const snekfetch = require("snekfetch"),
md5 = require("md5"),
tnSignatureKey = "f8ab2ceca9163724b6d126aea9620339";
Откуда появился этот ключ?Возможно, если будет сгенерирован новый, то ошибка авторизации будет решена?
В качестве дополнительного примечания другой потенциальной проблемой может быть то, что для client_type задано значение ANDROID, и я пытаюсь использовать учетную запись iOS для входа в систему.Однако всякий раз, когда я пытаюсь использовать учетную запись Android для входа в систему, я получаю 400 неверных запросов, как, например, Textnow не распознает учетные данные учетной записи.