возможно, я не правильно понимаю поток OAuth, но это то, что я хочу сделать: у меня есть служба, которая будет отправлять запрос в API Trello, поэтому для выполнения некоторых запросов мне нужноиметь токен доступа.
Возможно ли это вообще?Я знаю, что вы можете сделать это с другими сервисами, такими как Twitter, но я не знаю, смогу ли я сделать это с Trello.
Я использую NodeJS с библиотекой под названием oauth , чтобысделать это, и мой поток выглядит следующим образом: я создал новый объект OAuth, вызову getOAuthRequestToken , а затем я вызываю getOAuthAccessToken в обратном вызове, и там я получаю сообщение об ошибке 500что oauth_verifier отсутствует.
Вот фрагмент кода, о котором я говорю:
var OAuth = require('oauth').OAuth,
oauth = new OAuth('https://trello.com/1/OAuthGetRequestToken?key=' + config.key,
'https://trello.com/1/OAuthGetAccessToken',
config.key,
config.secret,
'1.0',
null,
'PLAINTEXT');
oauth.getOAuthRequestToken(function(error, oauth_token, oauth_secret, results){
//Here I have some error handling code
oauth.getOAuthAccessToken(oauth_token, oauth_secret,
function(error, oauth_access_token, oauth_access_token_secret, access_results){
//Here I would be storing the access token for later, etc.
}
});
Итак, очевидно, я не передаю параметр oauth_verifier в getOAuthAccessToken метод (я проверил в коде, и эта функция ожидает проверки в качестве третьего параметра), но я не делаю этого, потому что у меня его нет: объект results пуст, и я не знаю, какчтобы получить его программно.
Еще одна вещь, на которую следует обратить внимание, это то, что я передаю параметр key в URL-адресе запроса токена *1029* и использую обычный текст какподпись, потому что я просто подумал, что это будет правильно (я не вижу в документации никаких ссылок о том, какую подпись использовать или мне нужно передать ключ в качестве параметра).
Я делаю вещи действительно неправильно?Я на правильном пути?что мне не хватает?
Как всегда, заранее спасибо!=)