Что мне не хватает из моих тестовых данных wp-api wordpress?

Я тестирую wp-api, я очень рад использовать это, кстати. Вот что я сделал.

  1. установлен wp-api и проверен, что я могу получить с веб-сайта с помощью cURL
  2. Установленная базовая аутентификация, создала учетную запись уровня редактора для этого тестирования.
  3. Я попытался обновить сообщение, используя cURL и Postman в chrome. мои заголовки: -Content-Type: application / javascript -data в файле. Я не уверен, есть ли другие заголовки, которые мне не хватает. И cURL, и почтальон обрабатывают имя пользователя и пароль в базовой аутентификации для меня.

мой JSON

{ "title":"Hello Updated World!", "content_raw":"Howdy updated content.", "date":"2013-04-01T14:00:00+10:00" } 

прямо из примеров в документах wp-api

ошибка, которую я продолжаю получать, – это

 [ { "code": "json_missing_callback_param", "message": "Missing parameter data" } ] 

Глядя на исходный код на github, он выглядит как необходимый параметр отсутствует

в соответствии с заголовком документации и содержимым сырья, по-видимому, являются единственными обязательными полями. Мне было бы интересно узнать, чего мне не хватает, если у вас есть какие-либо предложения. Благодарю.

Solutions Collecting From Web of "Что мне не хватает из моих тестовых данных wp-api wordpress?"

Вы также можете попробовать этот плагин для использования веб-сервисов WordPress, и, используя его, вы также можете создать свой собственный веб-сервис:

https://wordpress.org/plugins/json-api/

Вот код, который я использую для вызова локального WP-API с PHP / cURL:

 $endpoint = 'http://localhost/my-site/wp-json/wp/posts'; $username = 'test-user'; $password = 'test-pass'; $data = array( 'title' => $post_title, 'content_raw' => $post_content, 'status' => 'publish', ); $json_data = json_encode($data); $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($json_data), )); $result = json_decode(curl_exec($ch)); 

Чтобы обновить этот пост, я бы изменил свои данные на:

 $data = array( 'ID' => $post_id, 'title' => $new_title, 'content_raw' => $new_content, ); 

При обновлении идентификатор является обязательным.