Php 验证WordPressAPI
我使用此代码通过api将图像发送到wordpress 但是我不能验证WordPressAPI 我使用用户名和密码作为我的用户管理员,但显示错误401“rest\u无法创建” 我的代码: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
<?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 ),