在我的WordPress方面,我安装了REST-API插件并成功获取帖子:
mywp.org/wp-json/wp/v2/posts
但是,只允许“获取”,如果我执行“发布”之类的任何其他操作,则返回401。我正在使用chrome app“Postman”和Basic Auth。
我得到了什么:
"code": "rest_cannot_create",
"message": "Sorry, you are not allowed to create new posts.",
"data": {
"status": 401
以下是标题:
Access-Control-Allow-Credentials →true
Access-Control-Allow-Headers →Authorization
Access-Control-Allow-Methods →POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin →
Access-Control-Expose-Headers →X-WP-Total, X-WP-TotalPages
Allow →GET
Connection →Keep-Alive
Content-Length →111
Content-Type →application/json; charset=UTF-8
我发现了一个问题here,但答案对我不起作用。
我是rest-api的新手,不知道该怎么做。
三江源!
答案 0 :(得分:2)
我自己找到了答案。因为我不小心错过了这部分"在WP"中安装Basic Auth plugin。在文档中。 安装并启用后,我能够发布"发布"和"删除"现在发帖。
答案 1 :(得分:0)
如果您在从Bitnami部署的WordPress实例上,并遇到类似以下错误:
woocommerce_rest_cannot_create
”(“ Sorry, you are not allowed to create resources.
”)rest_cannot_create
”("Sorry, you are not allowed to create posts as this user."
)rest_cannot_create_user
”(“ Sorry, you are not allowed to create new users
”)这是为我解决问题的原因:
/opt/bitnami/apps/wordpress/htdocs/wp-content/plugins
中来进行安装,也可以以zip格式下载该存储库,并从WP Admin中的插件页面中的文件中进行安装。 .htaccess
中可用的/opt/bitnami/apps/wordpress/htdocs
文件RewriteEngine On
下添加新行,并插入RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
保存并退出/opt/bitnami/apps/wordpress/conf/httpd-app.conf
在RewriteEngine On
之后添加新行RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
保存并退出sudo /opt/bitnami/ctlscript.sh restart apache
有关更多详细信息,请检查: https://community.bitnami.com/t/setting-up-api-access-to-wordpress-on-aws-ec2-instance/60589/7
答案 2 :(得分:0)
在使用WP API时,我遇到了同样的问题,并且通过在.htaccess文件中添加三行来解决了这个问题。
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
您可以点击链接以获取更多详细信息。