Kui teeme WordPressiga kaugtaotlusi, kasutame tõenäoliselt ühte järgmistest funktsioonidest:
Ja jah, mõnikord kasutame sõltuvalt projekti olemusest cURL -i, kuid see jääb selle postituse sisust välja.
Selle artikli puhul tahan rääkida konkreetselt kaugtaotluste tegemisest ja päiste määramisest kolmanda osapoole API-ga.
Autoriseerimispäised WordPressiga
Kui tegemist on WordPressiga asünkroonsete päringute tegemisega, läheb protsess sageli järgmiselt:
- Seadistage JavaScripti funktsioon, et helistada serveri poolele (muidugi turvalise nonce’iga ),
- Laske serveri poolel taotlus täita, kasutades ühte ülalnimetatud funktsioonidest,
- Tagastada vastus kas õnnestumisteate või veateate kujul ,
- Laske kliendipoolsel JavaScriptil vastust käsitleda viisil, mis vastuse põhjal sobib.
Aga mis siis, kui API-päring, mille peate serverist tegema, nõuab midagi enamat kui mõne parameetriga põhiotspunkt?
Täpsemalt, mis siis, kui see, mida kirjutate, nõuab oma töö jaoks teatud tüüpi volitust? Õnneks võimaldab WordPress meil määrata päised, mis täpselt selle lahendavad.
Kui soovite midagi sellist juurutada, siis eeldan, et sisutüüp on JSON ja et autoriseerimine on teatud tüüpi tunnus (teie teostus võib siiski erineda olenevalt süsteemist, millega te kasutate töötav).
Sel juhul identifitseeritakse minu tunnus lihtsalt $tokenina. Ja siin on lihtne näide:
<?php
$response = wp_safe_remote_post(
$url,
[
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => $token
],
'body' => wp_json_encode($args),
'method' => 'POST',
'data_format' => 'body',
]
);
Midagi, mis väärib märkimist
Kui teie host töötab Apache’is ja seda tüüpi päring ei tööta, peate tõenäoliselt oma htaccessfaili värskendama, et see sisaldaks järgmist reeglit: SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1.
Rekvisiidid George’ile, et ta mind sellega sidus.
