Tiktalik API, Laravel, Get Request, Почтальон - PullRequest
0 голосов
/ 17 января 2019

на основе Документация Я пытался сделать запрос GET. Когда я делаю запрос GET через приложение POSTMAN, он работает нормально и возвращает правильный ответ, но когда я пытаюсь сделать тот же самый вызов через php (Laravel), я получаю код ошибки 401.

мой код для базовой аутентификации выглядит так:

   namespace App;
   use GuzzleHttp\Client;

    class Api extends Model
    {
        static function TiktalikRespond(){
            $client = new Client();
            $base_encode = base64_encode(username:password);

            $res = $client->get(
                   'https://www.tiktalik.com/api/v1/computing/instance',
                   ['headers' => ['Authorization' => 'Basic '.$base_encode]]
            );

            $respond = $res->getBody();

            return json_decode($respond);
        }
    }

мой код для ключа API выглядит так:

namespace App;
use GuzzleHttp\Client;

class Api extends Model
{
    static function TiktalikRespond2(){
        $client = new Client();
        $sha1 = hash_hmac('sha1',
                          'GET \n \n application\json \n X-TK-Date \n https://www.tiktalik.com/api/v1/computing/instance',
                          'private_api_key');

        $res = $client->get(
               'https://www.tiktalik.com/api/v1/computing/instance',
               ['headers' => ['Authorization' => 'TKAuth API_KEY:'.$sha1]]
        );

        $respond = $res->getBody();

        return json_decode($respond);
    }
}

Мне нужен свежий взгляд, может, я что-то не так сделал:)

PS. API Auth не работает в обоих случаях, PHP и POSTMAN, я предполагаю, что я что-то напутал со значением SHA1:)

...