Error trying to update a post in WordPress using the WP REST API plugin

1
  

Hello, I'm new to WordPress and need (to yesterday) to solve this problem. Help!

I'm creating a simple integration in Angular 2 (v6 +) that accesses the api generated by the WP REST API plugin and the json I am sending is with the following data:

{
   "date":"2018-09-09T17:13:50",
   "date_gmt":"2018-09-09T17:13:50",
   "slug":"4-duvidas-respondidas-sobre-presenca-digital",
   "status":"publish",
   "password":null,
   "title":"4 dúvidas respondidas sobre presença digital",
   "content":"<p>Search Engine Optimization (SEO), Inbound Marketing, Google Ads, site responsivo… Todos esses termos são conceitos comuns no universo do marketing digital. No entanto, médicos que buscam inovar a sua forma de captar novos pacientes por meio da internet podem encontrar dificuldades para compreender o que tais nomenclaturas representam – assim como o termo “nevos” pode gerar estranhamento em profissionais de comunicação digital.</p>\n<p>Neste artigo, levantamos as principais dúvidas apontadas por nossos clientes com relação à presença digital de profissionais de saúde. Iremos falar para aqueles que já têm atuado de alguma forma na internet, com o objetivo de gerar mais oportunidades para a clínica ou consultório médico.</p>\n<p>Caso você ainda não use a internet com esse fim, mas tem planos de iniciar a sua presença digital, este artigo também será importante para clarear possíveis sombras que possam prejudicar a sua atuação em <a class=\"aalmanual\" title=\"\" href=\"http://blog.imedicina.com.br/marketing-medico\" target=\"_self\">marketing médico</a>. Vamos lá!</p>\n",
   "author":1,
   "excerpt":"<p>Search Engine Optimization (SEO), Inbound Marketing, Google Ads, site responsivo… Todos esses termos são conceitos comuns no universo do marketing digital. No entanto, médicos que buscam inovar a sua forma de captar novos pacientes por meio da internet podem encontrar dificuldades para compreender o que tais nomenclaturas representam – assim como o termo “nevos” pode &hellip; </p>\n<p class=\"link-more\"><a href=\"http://localhost/imedicina-test/2018/09/09/4-duvidas-respondidas-sobre-presenca-digital/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;4 dúvidas respondidas sobre presença digital&#8221;</span></a></p>\n",
   "comment_status":"open",
   "format":"standard",
   "meta":[],
   "sticky":false,
   "template":"",
   "categories":[1],
   "tags":[],
   "liveblog_likes":0
}

In the header I am correctly sending the Header below:

{ 
    header : {
        Authorization: " o token aqui "
    }
}

But when I send to the route according to api I get the message below:

{
    code: "rest_cannot_edit", 
    message: "Sorry, you are not allowed to edit this post.", 
    data: {
        status: 401
    }
}

How can I do to update the post from outside of WordPress using Angular 2 (v6 +)

    
asked by anonymous 12.09.2018 / 04:36

1 answer

1

I found the problem. When I re-read the documentation the first time I was not minding the details and in it says that to be able to do all the processes the WP REST API plugin depends on the WP API plugin Basic Auth and I had not installed it. Using the plugin I can send a header like this:

public usuario = { login: 'admin', senha : '@teste12345' };

public updatePost(post) {

    let token = btoa(this.usuario.login + ':' + this.usuario.senha);

    let header = { 
        header : {
            Authorization: "Basic " + token;
        }
    }

    // resto da implementação aqui

}

My biggest problem is that I was using a plugin called jwt-authentication-for-wp-rest-api and thought that the token that was to be sent there was what it returned.

    
12.09.2018 / 14:10