Я использую версию Guzzle 6.3.3. Я хочу сделать несколько HTTP-запросов от внешнего API. Код, показанный ниже рабочий идеально подходит для меня. Это всего лишь один запрос.
public function getAllTeams()
{
$client = new Client();
$uri = 'https://api.football-data.org/v2/competitions/2003/teams';
$header = ['headers' => ['X-Auth-Token' => 'MyKey']];
$res = $client->get($uri, $header);
$data = json_decode($res->getBody()->getContents(), true);
return $data['teams'];
}
Но теперь я хочу сделать несколько запросов одновременно. В документации по Guzzle я узнал, как это сделать, но все равно он не работал должным образом. Это код, который я пытаюсь использовать.
$header = ['headers' => ['X-Auth-Token' => 'MyKey']];
$client = new Client(['debug' => true]);
$res = $client->send(array(
$client->get('https://api.football-data.org/v2/teams/666', $header),
$client->get('https://api.football-data.org/v2/teams/1920', $header),
$client->get('https://api.football-data.org/v2/teams/6806', $header)
));
$data = json_decode($res->getBody()->getContents(), true);
return $data;
Я получаю сообщение об ошибке:
Argument 1 passed to GuzzleHttp\Client::send() must implement interface Psr\Http\Message\RequestInterface, array given called in TeamsController.
Если я удаляю $header
после каждого URI я получаю эту ошибку:
resulted in a '403 Forbidden' response: {"message": "The resource you are looking for is restricted. Please pass a valid API token and check your subscription fo (truncated...)
Я пробовал несколько способов установить X-Auth-Token
с помощью моего ключа API. Но я все еще получаю ошибки, и я не знаю многих других способов с их помощью Guzzle.
Я надеюсь, что кто-то может мне помочь:)