web-dev-qa-db-ja.com

Rest APIを使用して安全かつリモートでワードプレスで新しいユーザーを作成する方法

リモートでwordpress APIを使用して、wordpressバージョン4.9.1でユーザーを作成しようとしています。これが私のPHPコードです。

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_PORT => "8080",
  CURLOPT_URL => "http://localhost:8080/my_site/wp-json/wp/v2/users/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-    Disposition: form-data; name=\"username\"\r\n\r\nwakawaka\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"email\"\r\n\r\[email protected]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"password\"\r\n\r\ncITt xOSx HGKG GjTw No33 hzpG\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ACCESS_TOKEN\"\r\n\r\ncITt xOSx HGKG GjTw No33 hzpG\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data; boundary=----    WebKitFormBoundary7MA4YWxkTrZu0gW",
    "postman-token: 84cad22c-9f08-d2b1-18f6-6eb9880f3f5f"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

私はコードを実行すると、新しいユーザーの作成に失敗し、これは私が得るエラーコードです:

 {
  "code":"rest_cannot_create_user",
  "message":"Sorry, you are not allowed to create new users.",
  "data":  {"status":401}
} 

Wordpress Rest APIを使用して、安全かつリモートでwordpressで新しいユーザーを作成する方法を教えてください。

2
Terungwa

REST-APIを介してWordPress Webサイト上にコンテンツを作成するには、認証を使用する必要があります。

OAuthトークンを取得するには2つの方法があります。次のリンクに詳細な説明があります。

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

4
Moshe Harush