{"id":26279,"date":"2021-06-15T16:12:00","date_gmt":"2021-06-15T13:12:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26279"},"modified":"2021-10-17T18:16:53","modified_gmt":"2021-10-17T15:16:53","slug":"kuidas-kasutada-wordpressis-rakenduse-paroole-rest-api-autentimiseks","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/kuidas-kasutada-wordpressis-rakenduse-paroole-rest-api-autentimiseks\/","title":{"rendered":"Kuidas kasutada WordPressis rakenduse paroole REST API autentimiseks"},"content":{"rendered":"<p>WordPressi arendajana peate olema teadlik WordPressi REST API-st. WordPress pakub liidest (REST API) teie rakenduse WordPressiga suhtlemiseks. Need rakendused v\u00f5ivad olla mis tahes kasutajaliideses, n\u00e4iteks React, Angular ja muud PHP-rakendused.<\/p>\n<p>Teie rakenduse ja WordPressi suhtlus toimub HTTP-p\u00e4ringute kaudu. Peate saatma HTTP-p\u00e4ringu WordPressi l\u00f5pp-punkti. Ja teie rakenduste kaitsmiseks peaksid k\u00f5ik need taotlused p\u00e4rinema kehtivatest ressurssidest. Keegi ei tohiks avalikult WordPressi l\u00f5pp-punkti helistada. API k\u00f5ne kaitsmiseks aktsepteerib WordPress autoriseerimisp\u00e4ises <strong>ainulaadset m\u00e4rki<\/strong>. WordPress kinnitab selle loa ja t\u00f6\u00f6tleb p\u00e4ringut vastavalt sellele.<\/p>\n<p>WordPress 5.6 tutvustas uut funktsiooni \u201eRakenduse paroolid&quot;. P\u00f5him\u00f5tteliselt v\u00f5imaldab see teil luua WordPressi juhtpaneelilt m\u00e4rgi, mida saab seej\u00e4rel kasutada autoriseerimise p\u00e4ises.<\/p>\n<p>Selles artiklis uurime, kuidas kasutada WordPressi REST API-ga rakenduse paroole. REST API n\u00e4idiskoodi kirjutame j\u00e4rgmistesse keeltesse: cURL, Guzzle ja jQuery.<\/p>\n<h3>Looge WordPressis rakenduse paroolid<\/h3>\n<p>WordPress 5.6 lisab vaikimisi lehe <strong>Kasutajad-&gt; Profiil<\/strong> jaotise \u201eRakenduse parool&#8221;. See funktsioon on saadaval k\u00f5ikidele saitidele, mida pakutakse SSL \/ HTTPS-i kaudu. Kui teie sait pole HTTPS-i kasutav, saate selle funktsiooni lubada alloleva filtri abil.<\/p>\n<pre><code>add_filter( 'wp_is_application_passwords_available', '__return_true' );<\/code><\/pre>\n<p>Head \u00fcle <strong>Users-&gt; Profiili<\/strong> leht ja looge parool andes Rakenduse nimi. Seej\u00e4rel loob WordPress parooli, mida saate kasutada oma eesserveris olevas rakenduses HTTP-p\u00e4ringute jaoks. Kuigi WordPress annab teile t\u00fchikutega parooli, saate seda parooli kasutada t\u00fchikutega v\u00f5i ilma. WordPress eemaldab nende otsas olevad ruumid.<\/p>\n<p>Saite oma rakenduse parooli. N\u00fc\u00fcd peate loama loa p\u00e4ise jaoks kehtiva loa. Kehtiv luba on teie WordPressi saidi kasutajanime ja rakenduse parooli kombinatsioon base64 kodeeritud vormingus. Kasutaja saab selle h\u00f5lpsalt genereerida j\u00e4rgmiselt.<\/p>\n<pre><code>&lt;?php\n$username = 'admin'; \/\/ site username\n$application_password = 'Ho9c 9vGs AOBG nXb0 FPpr W5vO';\n\u00a0\u00a0\necho base64_encode($username.':'.$application_password);<\/code><\/pre>\n<p>\u00dclaltoodud koodis andsin edasi administraatori kasutajanime ja enda rakenduse parooli. Korrigeerige neid v\u00e4\u00e4rtusi vastavalt oma volitustele. L\u00f5puks saate kehtiva loa base64 kodeeritud versiooni. N\u00fc\u00fcd vaatame, kuidas selle m\u00e4rgi abil WordPressi REST API-d kutsuda.<\/p>\n<h3>Helistamine WordPressi REST API-le<\/h3>\n<p>WordPress annab mitu l\u00f5pp-punkti, mis saavad teie rakendusest API-taotlusi. <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Vaadake WordPressi saadaolevate l\u00f5pp-punktide<\/a> loendit. Peale nende saadaolevate l\u00f5pp-punktide saate <a href=\"https:\/\/themewp.inform.click\/et\/kuidas-lisada-kohandatud-lopp-punkte-wordpressi-api-sse\/\" title=\"WordPressi lisada\">WordPressi lisada<\/a> ka <a href=\"https:\/\/themewp.inform.click\/et\/kuidas-lisada-kohandatud-lopp-punkte-wordpressi-api-sse\/\" title=\"oma kohandatud l\u00f5pp-punktid\">oma kohandatud l\u00f5pp-punktid<\/a>.<\/p>\n<p>\u00d5petuse huvides v\u00f5tan n\u00e4ite postituse loomise l\u00f5pp-punktist. WordPressis postituse loomiseks peate saatma selle otspunkti parameetritega POST-taotlused <code>SITE_URL\/wp-json\/wp\/v2\/posts<\/code>.<\/p>\n<p>Vaatame n\u00fc\u00fcd, kuidas sellele l\u00f5pp-punktile helistada, kasutades cURL, Guzzle ja jQuery. Taotluse p\u00f5hjal v\u00f5ite v\u00f5tta viite mis tahes allpool toodud v\u00f5imalustest.<\/p>\n<h4>WordPressi REST API, kasutades PHP cURL-i<\/h4>\n<p>V\u00f5ite ehitada oma rakenduse PHP-s. Kasutaja saab oma PHP-rakendusest WordPressiga suhelda, kasutades selleks cURL ja Guzzle. CURL-i korral veenduge, et teie serveris oleks laiendus cURL lubatud. P\u00e4rast seda saate kasutada allolevat koodi, mis loob postituse WordPressis.<\/p>\n<pre><code>&lt;?php\n$username = 'admin';\n$application_password = 'MGOw EG9V 04xo sUZ0 60wo J2OG';\n\u00a0\n$url = 'SITE_URL\/wp-json\/wp\/v2\/posts';\n\u00a0\u00a0\n$json = json_encode([\n\u00a0\u00a0\u00a0\u00a0'title' =&gt; 'Post using REST API',\n\u00a0\u00a0\u00a0\u00a0'content' =&gt; 'Post content using REST API',\n\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'publish',\n]);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$ch = curl_init($url);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$application_password);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application\/json']);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_TIMEOUT, 10);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POST, 1);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\n\u00a0\u00a0\u00a0\u00a0curl_setopt($ch, CURLOPT_POSTFIELDS, $json);\n\u00a0\u00a0\u00a0\u00a0$result = curl_exec($ch);\n\u00a0\u00a0\u00a0\u00a0$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n\u00a0\u00a0\u00a0\u00a0curl_close($ch);\n\u00a0\u00a0\u00a0\u00a0print_r(json_decode($result));\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Asendage kindlasti kasutajanime, rakenduse parooli ja SITE_URL v\u00e4\u00e4rtused oma tegelike v\u00e4\u00e4rtustega. K\u00e4ivitage see kood ja teie postitus luuakse WordPressi juhtpaneelil.<\/p>\n<h4>WordPress REST API, kasutades PHP-s Guzzle&#8217;i<\/h4>\n<p><a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Guzzle<\/a> on alternatiiv CURL- <a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ile<\/a>. See on PHP HTTP klient, mis muudab HTTP-p\u00e4ringute saatmise lihtsaks ja t\u00fchiseks integreerimiseks REST-i API-dega. Installige Guzzle&#8217;i teek k\u00e4suga:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>J\u00e4rgmine on teie kood WordPress REST API ja Guzzle abil postituse loomiseks j\u00e4rgmine.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse GuzzleHttpClient;\n\u00a0\n$username = 'admin';\n$application_password = 'MGOw EG9V 04xo sUZ0 60wo J2OG';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'SITE_URL',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$response = $client-&gt;request('POST', '\/wp-json\/wp\/v2\/posts', [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'json' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title' =&gt; 'Post using REST API',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'content' =&gt; 'Post content using REST API',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status' =&gt; 'publish',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"headers\" =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Authorization\" =&gt; \"Basic \". base64_encode($username.':'.$application_password)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0print_r($arr_body);\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Siin kasutan <code>base64_encode()<\/code>stringi kodeerimiseks PHP funktsiooni. CURL-i puhul ei olnud meil vaja seda otses\u00f5nu teha. CURL kodeerib stringi iseseisvalt.<\/p>\n<h4>JQuery abil WordPress REST API<\/h4>\n<p>Mis puutub jQuerysse, siis tavaliselt kutsume API-k\u00f5ne, kui konkreetne s\u00fcndmus k\u00e4ivitub. See s\u00fcndmus v\u00f5ib olla midagi sellist, nagu kl\u00f5psamine, muutmine, laadimine jne. Ma ei kirjuta \u00fchestki s\u00fcndmusest. Selle asemel kirjutan otse koodi, mille saate oma s\u00fcndmuste sisse m\u00e4hkida.<\/p>\n<pre><code>&lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js\" integrity=\"sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx\/qtq\/1itJ0C2ejDxltZVFg==\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n&lt;script&gt;\njQuery(function($) {\n\u00a0\u00a0\u00a0\u00a0var username = 'admin';\n\u00a0\u00a0\u00a0\u00a0var application_password = 'MGOw EG9V 04xo sUZ0 60wo J2OG';\n\u00a0\u00a0\u00a0\u00a0$.ajax({\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0type: 'POST',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0url: 'SITE_URL\/wp-json\/wp\/v2\/posts',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0beforeSend: function(xhr) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0token = btoa(username + ':' + application_password)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0xhr.setRequestHeader('Authorization', 'Basic ' + token);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0data: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title': 'Post using REST API',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'content': 'Post content using REST API',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'status': 'publish'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0success:function(response) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0console.log(response);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0});\n});\n&lt;\/script&gt;<\/code><\/pre>\n<p>\u00dclaltoodud koodis kasutan meetodit <code>btoa<\/code>. <code>btoa()<\/code>Meetodi kodeerib stringi aluses 64. API vastust n\u00e4ete ka oma brauseri konsoolis.<\/p>\n<p>Loodan, et v\u00f5ite \u00f5ppida WordPressis rakenduse paroole koos oma rakendusega kasutama. Tahaksin kuulda teie m\u00f5tteid ja ettepanekuid allpool olevas kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-lisada-kohandatud-lopp-punkte-wordpressi-api-sse\/\" title=\"Kuidas lisada kohandatud l\u00f5pp-punkte WordPressi API-sse\">Kuidas lisada kohandatud l\u00f5pp-punkte WordPressi API-sse<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-kasutada-guzzle-i-php-http-klienti-http-paringute-saatmiseks\/\" title=\"Kuidas kasutada Guzzle&#039;i - PHP HTTP-klienti HTTP-p\u00e4ringute saatmiseks\">Kuidas kasutada Guzzle&#8217;i &#8211; PHP HTTP-klienti HTTP-p\u00e4ringute saatmiseks<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/logige-sisse-wordpressi-telefoninumbriga\/\" title=\"Logige sisse WordPressi telefoninumbriga\">Logige sisse WordPressi telefoninumbriga<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Selles artiklis uurime, kuidas kasutada rakenduse paroole WordPressis REST API autentimiseks. Peate kasutama rakenduse parooli<\/p>\n","protected":false},"author":1,"featured_media":20206,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[498,609],"tags":[842],"class_list":["post-26279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-5","category-uncategorized-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=26279"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26279\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/20206"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=26279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=26279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=26279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}