Sto provando a utilizzare fetch
in React Native per ottenere informazioni dall'API Hunt prodotto. Ho ottenuto il token di accesso corretto e l'ho salvato in stato, ma non sembra che sia in grado di passarlo all'interno dell'intestazione di autorizzazione per una richiesta GET.Utilizzo di un'intestazione di autorizzazione con Recupera in React Native
Ecco quello che ho finora:
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();
},
L'aspettativa che ho per il mio codice è il seguente:
- In primo luogo, lo farò
fetch
un token di accesso con i dati dal mio modulo API importati - Successivamente, imposterò la proprietà
clientToken
dithis.state
a uguale al token di accesso ricevuto. - Quindi eseguirò
getPosts
che dovrebbe restituire una risposta contenente una serie di messaggi correnti da Product Hunt.
sono in grado di verificare che il token di accesso viene ricevuto e che this.state
sta ricevendo come sua proprietà clientToken
. Sono anche in grado di verificare che sia in esecuzione getPosts
.
L'errore che sto ricevendo è il seguente:
Ho lavorato fuori l'ipotesi che sto in qualche modo non passando lungo il token di accesso correttamente a mio colpo di testa di autorizzazione, ma don sembra di essere in grado di capire esattamente perché.
potresti forse fornire il codice ora funzionante? Sto cercando di usare fetch con un'intestazione di autorizzazione e non penso che il mio codice di autenticazione venga passato come intestazione, perché sto ottenendo una risposta '401'. – GoldenBeet
Fatto, spero sia utile –
Oh sono stato sul tuo sito personale con quell'esempio! È così che ho modellato la mia la prima volta. Ho capito il mio problema però, era solo che il mio url era sbagliato. E 'richiesto un '/' alla fine che mi mancava ... – GoldenBeet