Post with REST API on Wordpress.com [Error 401, not allowed]

Viewed 10471

I want to post articles with rest on one of my wordpress.com websites (wordpress website hosted on the free wordpress.com platform).

Endpoint, GET on: https://public-api.wordpress.com/wp/v2/sites/donnadulcinea.wordpress.com/posts

With Basic-Auth header. Body of the request (for test),

{"title":"New Rest Post"}

Response:

{
    "code": "rest_cannot_create",
    "message": "Sorry, you are not allowed to create posts as this user.",
    "data": {
        "status": 401
    }
}

What's wrong? Where may I found one final example for a really simple posting on a wordpress.com domain?

2 Answers

First, are you using the basic auth plugin? here

Second, I'm not sure if your endpoint is correct. This is how I use:

http://localhost/wp-json/wp/v2/posts

I tried in my website, with this json:

{
    "title":"title",
    "content":"content",
    "categories":"news",
    "status":"publish"
}

and it worked

I just faced the same issue. Download the miniOrange API Authentication plugin. Then, if running on an Apache server, add the below two lines to your .htaccess file after the RewriteBase:

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 

Works like a charm.

Related