fetch
React Native Ürün Avı API'sından bilgi almak için kullanmaya çalışıyorum . Uygun Erişim Jetonunu aldım ve Eyalete kaydettim, ancak bir GET isteği için Yetkilendirme başlığı içinde geçiremiyorum.
Şimdiye kadar sahip olduğum şey:
var Products = React.createClass({
getInitialState: function() {
return {
clientToken: false,
loaded: false
}
},
componentWillMount: function () {
fetch(api.token.link, api.token.object)
.then((response) => response.json())
.then((responseData) => {
console.log(responseData);
this.setState({
clientToken: responseData.access_token,
});
})
.then(() => {
this.getPosts();
})
.done();
},
getPosts: function() {
var obj = {
link: 'https://api.producthunt.com/v1/posts',
object: {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + this.state.clientToken,
'Host': 'api.producthunt.com'
}
}
}
fetch(api.posts.link, obj)
.then((response) => response.json())
.then((responseData) => {
console.log(responseData);
})
.done();
},
Kodum için beklentim şudur:
- İlk olarak,
fetch
içe aktarılan API modülümden veriler içeren bir erişim belirteci yapacağım - Bundan sonra,
clientToken
özelliğinithis.state
alınan erişim belirtecine eşit olacak şekilde ayarlayacağım . - Ardından,
getPosts
Product Hunt'tan bir dizi geçerli gönderi içeren bir yanıt döndürmesi gereken çalışacağım .
Aldığım ve ediliyor belirteç erişim doğrulamak mümkün duyuyorum this.state
onun gibi alıyor clientToken
mülkiyet. Ayrıca getPosts
çalıştırıldığını doğrulayabiliyorum .
Aldığım hata şudur:
{"error": "unauthorized_oauth", "error_description": "Lütfen geçerli bir erişim belirteci sağlayın. Bir API isteğinin nasıl yetkilendirileceğiyle ilgili API belgelerine bakın. Lütfen doğru kapsamlara ihtiyacınız olduğundan emin olun. msgstr "özel uç noktalara erişmek için."}
Yetkilendirme başlığımda bir şekilde erişim belirtecini düzgün bir şekilde geçirmediğim varsayımı üzerinde çalışıyorum, ancak nedenini tam olarak anlayamıyor gibi görünmüyorum.