WP REST API v1.2.4で画像を投稿 : WordPress

Pocket

WP REST API v1.2.4で画像をメディアへ投稿するメモです。

OAuth1認証済みのクライアントから/wp-jason/mediaへ新規画像をPOSTする例です。

投稿エンドポイント

  • メソッド
    POST
  • URL
    http://www.example.com/wp-json/media

HTTP Client

サンプルはGuzzle6の利用を前提としています。
https://github.com/guzzle/guzzle

画像投稿

WP REST APIの画像投稿部分は下記の記事を参考にしました。
WordPress › Support » New post with image

サンプル

/*   
 * WP REST API version 1.2.4   
 * API base url ishttp://www.example.com/wp-json   
 *   
 * 参考
 * https://wordpress.org/support/topic/new-post-with-image   
 */  

/*   
 * OAuth1認証済みのGuzzle HTTP Client取得   
 */   
$client = ... ;  

/*   
 * 画像のバイナリデータ取得   
 */   
$finfo                     = new finfo(FILEINFO_MIME_TYPE);   
$fmime                     = $finfo->file($path);   
$handle                    = fopen($path, "r");   
$fdata                     = fread($handle, filesize($path)); 

/*   
 * APIへ画像をPOST
 */   
$headers = [   
  'Content-Type'              => $fmime,   
  'Content-Disposition'       => 'attachement; filename='.basename($path),  
  'Content-Transfer-Encoding' => 'binary', 
];   
$response = $client->request(   
  'POST',   
  '/media',   
  [   
    'headers' => $headers,   
    'body'    => $fdata,   
  ]   
);   

Gist

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。