Переменные, использующие Guzzle, не проходят (люмен) - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use GuzzleHttp\Client;

class GetBlahCommand extends Command {

    protected $name = 'blah:blah';
    protected $description = "name";

    public function handle()
    {
        $client = new Client();
        $res = $client->request('GET', 'https://someapi.com', [
            'api_key' => ['privatekey']
        ]);
        echo $res->getStatusCode();
    }
}

Но параметр api_key не передается.

Как мне заставить это работать?


Iизменил мой код, но теперь я получаю NULL:

$ndbnos = [
            'ndbno' => '01009'
        ];

        $client = new Client(['base_uri' => 'https://soemapi.com']);
        $res = $client->request('GET', '/', [
            'query' => array_merge([
                'api_key' => 'somekey'
            ], $ndbnos)
        ])->getBody();
        $res = json_decode($res);

        var_dump($res);

Я понял:

public function handle()
    {
        $ndbnos = [
            'ndbno' => '01009'
        ];

        $client = new Client(['base_uri' => 'https://someapi.com']);
        $res = $client->request('GET', '', [
            'query' => array_merge([
                'api_key' => 'somekey',
                'format' => 'json'
            ], $ndbnos)
        ]);
        print_r(json_decode($res->getBody()));
    }

1 Ответ

0 голосов
/ 23 сентября 2018

Вы можете сделать это следующим образом:

public function handle()
{
    $client = new Client(['base_uri' => 'https://someapi.com/']);
    $res = $client->request('GET', '/', [
    'headers' => [
            'api_key' => 'YOUR_KEY'
    ]
    ]);
}

Я думал, что это параметр заголовка.Если это форма ввода, вы можете сделать это следующим образом:

public function handle()
{
    $client = new Client(['base_uri' => 'https://someapi.com/']);
    $res = $client->request('GET', '/', [
    'query' => [
            'api_key' => 'YOUR_KEY'
    ]
    ]);
}
...