如何使用REST API在WordPress中安全远程创建新用户

时间:2017-12-10 作者:Terungwa

我正在尝试使用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中安全地远程创建新用户?

1 个回复
SO网友:Moshe Harush

要通过REST-API在WordPress网站上创建任何内容,必须使用身份验证。

您有两个获取OAuth令牌的选项,详细说明请参见以下链接:

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

结束

相关推荐

请求发布时的REST API钩子

我知道我可以使用端点/wp-json/wp/v2/posts/{id} 去取信。我正在构建一个完全依赖JSON API及其端点的WordPress实现。这是一个角度SPA实现,这意味着当通过API发出请求时,我的挂钩需要启动。因此,如果我想为帖子记录视图,我想使用\'posts_selection\'. 我的第一个问题是,如果通过/wp-json/wp/v2/posts/{id}我的第二个问题是,是否还有另一个钩子或其他东西在对帖子进行API查询时也会触发,但会通过{id} 我的职务是什么?因为当我这样做