discovery-tecnologia / dsc-mercado-livre

Biblioteca de integração com o Mercado Livre
Apache License 2.0
72 stars 29 forks source link

Erro ao atualizar token #13

Closed luishscosta closed 6 years ago

luishscosta commented 6 years ago

Estou tentando utilizar o método para capturar as informações dos usuários com um token já expirado, porém estou recebendo erro na resposta:

image

Está sendo retornado um conteúdo em HTML ao invés do JSON. Fiz a atualização do token via Postman utilizando os mesmos dados e tudo ocorreu com sucesso.

image

Ao tentar debugar este problema, aparentemente o body da request não é atribuído ao requestAsync do guzzlehttp

image

Se eu passo no índice do array o body tenho o seguinte retorno do guzzle:

private function refreshAccessToken($refreshToken)
    {
        $uri  = $this->meli->getEnvironment()->getOAuthUri();
        $data = [
            "body" => [
            'grant_type'    => 'refresh_token',
            'client_id'     => $this->meli->getClientId(),
            'client_secret' => $this->meli->getClientSecret(),
            'refresh_token' => $refreshToken]
        ];
        $response = $this->post($uri, $data);

        return \GuzzleHttp\json_decode($response->getBody()->getContents());
    }
InvalidArgumentException
Passing in the "body" request option as an array to send a POST request has been deprecated. Please use the "form_params" request option to send a application/x-www-form-urlencoded request, or the "multipart" request option to send a multipart/form-data request.

Ambiente

PHP 7.2 Laravel 5.7 GuzzleHttp 6.3

dilowagner commented 6 years ago

Opa, Valeu @luishscosta, vou verificar o que está acontecendo....

luishscosta commented 6 years ago

@dilowagner Mandei um PR que corrige essa issue https://github.com/discovery-tecnologia/dsc-mercado-livre/pull/14

dilowagner commented 6 years ago

Show de bola @luishscosta , valeu!

Obrigado pela contribuicao! Vou aproveitar e fixar a versao do Guzzle tambem...

Vou gerar uma nova versao!

dilowagner commented 6 years ago

Fix Versao 1.5.3 lancada!

denirrobertotavares commented 4 years ago

Dá uma força pra nós.... Não consigo evoluir na versão nova do ML do SDK PHP. Já tenho a aplicação criada, baixei o SDK do Git e executei o composer para instalação dos pacotes mas não consigo prosseguir. Preciso de uma tela de login, fazer a comunicação com o OAuth essas paradas. Tens algum exemplo?

dilowagner commented 4 years ago

Não tenho nenhum exemplo pronto... esses fluxos do OAuth são mais chatos de desenvolver e testar mesmo... Mas cara, acho que o próprio mercado livre disponibiliza uns diagramas e fluxos de como funciona a aplicação de login.