Я работаю над новым приложением Angular, которое должно взаимодействовать с Flickr photoStock в качестве потребителя. Я пытаюсь получить токен запроса от Flicks. Но я не могу. Я всегда получаю сообщение об ошибке «oauth_problem = signature_invalid ....»
. Чтобы сгенерировать правильную подпись, я установил генератор oauth-signature в свое приложение Angular и попытался сгенерировать запрос GET с помощью HttpClient.
import * как oauth из 'oauth-signature';класс экспорта AuthComponent реализует OnInit {
private getSignature(): string{
let httpMethod = 'GET';
url = https://www.flickr.com/services/oauth/request_token;
parameters = {
oauth_consumer_key:'9545a55.....24b' ,
oauth_nonce: Math.random(),
oauth_timestamp: Math.floor(Date.now() / 1000),
oauth_signature_method: 'HMAC-SHA1',
oauth_version: '1.0',
oauth_callback: 'http%3A%2F%2F127.0.0.1%3A4220'
};
consumerSecret = 'b4da2....e2d243';
tokenSecret = '';
encodedSignature = oauth.generate(httpMethod, url, parameters, consumerSecret, tokenSecret);
return: encodedSignature;
}
getRequestToken(){
let newUrl = 'https://www.flickr.com/services/oauth/request_token'
+ '?oauth_nonce=' + Math.random()
+'&oauth_timestamp=' + Math.floor(Date.now() / 1000)
+'&oauth_consumer_key=' + '9545a55.....24b'
+'&oauth_signature_method=HMAC-SHA1'
+'&oauth_version=1.0'
+ '&oauth_signature=' + getSignature()
+'&oauth_callback=http%3A%2F%2F127.0.0.1%3A4220';
this.httpClient.get(newUrl).subscribe(res => console.log(res));
}
}
Я не могу понять, где ошибка. Подпись неверна? Если так, то каков наилучший способ создать один экземпляр для Flickr. Возможно проблема в том, что я использую свой локальный хост. Если так, то как этого избежать. Большое спасибо.