Php 验证WordPressAPI

Php 验证WordPressAPI,php,wordpress,api,wordpress-rest-api,Php,Wordpress,Api,Wordpress Rest Api,我使用此代码通过api将图像发送到wordpress 但是我不能验证WordPressAPI 我使用用户名和密码作为我的用户管理员,但显示错误401“rest\u无法创建” 我的代码: <?php $file = $_FILES["RESULT_FileUpload-6"]["tmp_name"]; $url = 'http://tst.com/wp-json/wp/v2/media/'; $ch = curl_init(); $username = 'testuser1'; $pass

我使用此代码通过api将图像发送到wordpress

但是我不能验证WordPressAPI

我使用用户名和密码作为我的用户管理员,但显示错误401“rest\u无法创建”

我的代码:

<?php

$file = $_FILES["RESULT_FileUpload-6"]["tmp_name"];
$url = 'http://tst.com/wp-json/wp/v2/media/';
$ch = curl_init();
$username = 'testuser1';
$password = '123456789';

curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $file );
curl_setopt( $ch, CURLOPT_HTTPHEADER, [
    'Content-Disposition: form-data; filename="'.$_FILES["RESULT_FileUpload-6"]["name"].'"',
    'Authorization: Basic ' . base64_encode( $username . ':' . $password ),
] );
$result = curl_exec( $ch );
curl_close( $ch );
print_r( json_decode( $result ) );

?>

一个对我有效的解决方案是使用这个插件:

从终端可以执行POST,如下所示:

curl --header "Authorization: Basic ACCESS_TOKEN" -X POST -d "title=New Title" http://LOCALHOST/wp-json/wp/v2/posts/POST_ID}
我相信对于这个插件,你可能会编写一个从数据库获取访问令牌的方法,我相信它是在选项表中设置的

从数据库中获取后,可以替换:

base64_encode( $username . ':' . $password )
与:

希望有帮助

base64_encode( $access_token ),