Saya mencoba menggunakan fetch
di React Native untuk mengambil informasi dari API Perburuan Produk. Saya telah memperoleh Token Akses yang tepat dan telah menyimpannya ke Status, tetapi tampaknya tidak dapat meneruskannya dalam header Otorisasi untuk permintaan GET.
Inilah yang saya miliki sejauh ini:
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();
},
Harapan yang saya miliki untuk kode saya adalah sebagai berikut:
- Pertama, saya akan
fetch
mendapatkan token akses dengan data dari modul API yang saya impor - Setelah itu, saya akan mengatur
clientToken
propertithis.state
menjadi sama dengan token akses yang diterima. - Kemudian, saya akan menjalankan
getPosts
yang seharusnya mengembalikan respons yang berisi larik posting saat ini dari Product Hunt.
Saya dapat memverifikasi bahwa token akses telah diterima dan this.state
menerimanya sebagai clientToken
propertinya. Saya juga dapat memverifikasi bahwa getPosts
sedang dijalankan.
Kesalahan yang saya terima adalah sebagai berikut:
{"error": "unauthorized_oauth", "error_description": "Berikan token akses yang valid. Lihat dokumentasi api kami tentang cara mengotorisasi permintaan api. Pastikan juga Anda memerlukan cakupan yang benar. Misalnya \" private public \ "untuk mengakses titik akhir pribadi."}
Saya telah mengerjakan asumsi bahwa saya entah bagaimana tidak meneruskan token akses dengan benar di header otorisasi saya, tetapi tampaknya tidak dapat mengetahui dengan tepat mengapa.