Saya mencoba menggunakan fetchdi 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
fetchmendapatkan token akses dengan data dari modul API yang saya impor - Setelah itu, saya akan mengatur
clientTokenpropertithis.statemenjadi sama dengan token akses yang diterima. - Kemudian, saya akan menjalankan
getPostsyang seharusnya mengembalikan respons yang berisi larik posting saat ini dari Product Hunt.
Saya dapat memverifikasi bahwa token akses telah diterima dan this.statemenerimanya sebagai clientTokenpropertinya. Saya juga dapat memverifikasi bahwa getPostssedang 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.