Aina kun teemme etäpyyntöjä WordPressin avulla, käytämme todennäköisesti jotakin seuraavista toiminnoista:
Ja kyllä, joskus käytämme cURL -osoitetta projektin luonteesta riippuen, mutta se ei kuulu tämän viestin sisältöön.
Tässä artikkelissa haluan puhua erityisesti etäpyyntöjen tekemisestä ja otsikoiden määrittämisestä kolmannen osapuolen sovellusliittymää vastaan.
Valtuutusotsikot WordPressillä
Aina kun on kyse asynkronisten pyyntöjen tekemisestä WordPressin kanssa, prosessi menee usein näin:
- Määritä JavaScript-toiminto soittaaksesi palvelinpuolelle (tietysti suojatulla noncella ),
- Pyydä palvelinpuolta suorittamaan pyyntö jollakin edellä mainituista toiminnoista,
- Palauta vastaus joko onnistumis- tai virheilmoituksena ,
- Pyydä asiakaspuolen JavaScriptiä käsittelemään vastausta millä tahansa tavalla, joka vastauksen perusteella näyttää sopivalta.
Mutta entä jos palvelimelta tehtävä API-pyyntö vaatii jotain enemmän kuin peruspäätepisteen muutamalla parametrilla?
Tarkemmin sanottuna entä jos kirjoituksesi edellyttää, että annat jonkinlaisen valtuutuksen työllesi? Onneksi WordPress antaa meille mahdollisuuden asettaa otsikot, jotka ratkaisevat juuri tämän.
Jos haluat toteuttaa jotain tämän kaltaista, oletan, että sisältötyyppi on JSON ja että valtuutus on jonkin tyyppinen tunnus (toteutus voi kuitenkin vaihdella sen järjestelmän mukaan, jossa käytät työssä).
Tässä tapauksessa tunnukseni tunnistetaan yksinkertaisesti $tokeniksi. Ja tässä on yksinkertainen esimerkki:
Jotain huomionarvoista
Jos isäntäsi käyttää Apachea ja tämäntyyppinen pyyntö ei toimi, sinun on todennäköisesti päivitettävä htaccess
tiedostosi siten, että se sisältää seuraavan säännön: SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
.
Rekvisiitta Georgelle, että hän sai minut siihen.