web-dev-qa-db-ja.com

4.7の新しいJSON APIを使用してユーザーを作成する方法を教えてください。

以前はJSON APIプラグインとJSON USER APIプラグインが4.7より前に動作していました。ReSTAPIユーザーリファレンス https://developer.wordpress.org/rest-api/reference/users/#create)でドキュメントを確認しました。 -a-user%20%22Rest%20API%20参照 しかし、開始方法がわかりません。私はnonceを得るために最初に起こらなければならない認証手順があると確信しています、しかし私はもうそれをする方法をもう知りません。誰かが私を見せたり、一回だけを取得してユーザーを作成するためのcURLステートメントとURIの例を教えてくれると私は本当に感謝します。

TIA

4
n8bar

WordPressに含まれているREST AP​​Iには、実際には認証が組み込まれていません。

あなたがログインすることによってWordPressで通常の認証をするならば、あなたのブラウザはクッキーのセットを受け取るでしょう。あなたがあなたの要求と共にそれらのクッキーを送るならば、それは問題の行動を実行するためにあなたを認証するでしょう。

外部サービスに認証を追加する必要がある場合は、それを処理するためのプラグインをインストールする必要があります。いくつか利用可能です:

ローカルでテストしているだけの場合は、Authorizationヘッダーのすべてのリクエストに単純にユーザー名とパスワードを送信できるようにする基本認証プラグインもあります。

いずれにせよ、いったん適切なクッキーを取得するか認証方法を有効にすると、新しいユーザーを作成するのは簡単です。ペイロードとしてユーザー名、電子メール、およびパスワードを指定してPOST要求を/ wp-json/wp/v2/usersに送信します。

これはここに文書化されています。

https://developer.wordpress.org/rest-api/using-the-rest-api/ /

https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/ /

7
Otto

「ユーザーの登録」または「パスワードの取得」を行うには、「管理者」の役割を持つユーザーの認証が必要です。これはセキュリティ上の理由から慎重に行われていますが、そのような実装はフロントエンドアプリケーションが単純な「登録」または「サインアップ」機能を実装することを非常に困難にします。

簡単な解決策はこの wp-rest-user プラグインを使うことです。このプラグインは、既存のWordPress REST AP​​Iエンドポイントを拡張することによって、このような要件を満たします。

_ usage _

ユーザー名、電子メール、およびパスワードの3つのキーを持つJSON本文を含むPOST要求を/wp-json/wp/v2/users/registerに送信します。

User_loginという3つのキーを持つJSON本文を含め、POST要求を/wp-json/wp/v2/users/lostpasswordに送信します。

あなたは以下のように郵便配達を使用することができます enter image description here

あるいはajaxリクエストでさえ、以下のコードを見てください。

<script>
    function addUserData(){
            $.ajax( {
            url: 'http://localhost/lapaktrip/wp-json/wp/v2/users/register',
            method: 'POST', 
            contentType: "application/json; charset=utf-8",  
            dataType: "json", 
            data:JSON.stringify({
                'username' : 'testmember',
                'email' : '[email protected]',
                'password' : '123456'
            })
        } ).done( function ( response ) {
            console.log( response );
        } )
    }           
</script>
<button onclick="addUserData()">Start Sending</button>

この答えがたくさんの人に役立つことを願っています。ハッピーコディング。

2
Yohanes AI