2014-10-09 1 views
4

Я тестирую с помощью wp-api, я очень рад использовать это, кстати. Вот что я сделал.Что мне недостает из моих тестовых данных wp-api wordpress?

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

мой JSON

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

прямо из примеров в wp-api docs

погрешность я получаю это

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

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

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

+1

Возможно, вам не хватает идентификатора, который также требуется при обновлении сообщения. См. Документацию в разделе «EDIT A POST»: «ID - уникальный идентификатор сообщения. (целое число). – vicente

+0

То же самое здесь. При удаче? – alloyking

+0

У меня такая же ошибка при размещении с enptype 'multipart/form-data' и границей. Он отлично работает без границы ... Go figure ... Бесплатное программное обеспечение ... – user2173353

ответ

0

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

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

0

Вот код, я использую, чтобы вызвать локальную 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, 
); 

ID - обязательное поле при обновлении.

Смежные вопросы