Жрет 6, возвращая 200 вместо 304, используя «If-None-Match» заголовок и etags

я использую Жрут 6 общаться с Youtube API.
Я читал об etags в документах YoutubeAPI и пытался заставить его работать на меня.
Сначала я протестировал его на игровой площадке OAuth 2.0 от Google.
После нескольких попыток я настроил его, и результат был следующим:

Google OAuth 2.0 Playground и использование ETags

Он успешно возвратил 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.

200 вместо 304 вернулся

Я не знаю много о протоколе HTTP, и поэтому я не уверен, что я что-то упустил ..
(либо звонки с Guzzle или самих заголовков)

0

Решение

На первый взгляд, похоже, что ваш запрос не прошел аутентификационную часть запроса, основываясь на том факте, что копирование и вставленное изображение перечисляют аутентификацию, но это не входит в ваш фрагмент кода. Трудно сказать, не имея возможности просмотреть полный полученный ответ.

использование авт включить аутентификацию для транзакции.
использование отлаживать чтобы включить отладку, это позволит вам сравнить запросы и ответы, полученные Guzzle, с ожиданиями.

Вы также можете быть заинтересованы в использовании Официальная клиентская библиотека Google PHP. В своей основе эта библиотека использует Guzzle.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]