я использую Жрут 6 общаться с Youtube API.
Я читал об etags в документах YoutubeAPI и пытался заставить его работать на меня.
Сначала я протестировал его на игровой площадке OAuth 2.0 от Google.
После нескольких попыток я настроил его, и результат был следующим:
Он успешно возвратил 304 для этого конкретного запроса.
Теперь я использовал этот код, чтобы воссоздать ответ выше.
$this->client->get('https://www.googleapis.com/youtube/v3/playlists?part=id,snippet&id=PLQvsw2H5Quochc6RgdIO-zvTKB012BTz1&key=MyApiKey', [
'header' => [
'If-none-match' => "\"DsOZ7qVJA4mxdTxZeNzis6uE6ck/FVDC5fyfcQ3KmIbwFIpgNgWJFUo\"",
]
]);
Но он всегда возвращает ответ с кодом 200.
Я не знаю много о протоколе HTTP, и поэтому я не уверен, что я что-то упустил ..
(либо звонки с Guzzle или самих заголовков)
На первый взгляд, похоже, что ваш запрос не прошел аутентификационную часть запроса, основываясь на том факте, что копирование и вставленное изображение перечисляют аутентификацию, но это не входит в ваш фрагмент кода. Трудно сказать, не имея возможности просмотреть полный полученный ответ.
использование авт включить аутентификацию для транзакции.
использование отлаживать чтобы включить отладку, это позволит вам сравнить запросы и ответы, полученные Guzzle, с ожиданиями.
Вы также можете быть заинтересованы в использовании Официальная клиентская библиотека Google PHP. В своей основе эта библиотека использует Guzzle.
Других решений пока нет …