2016-02-05 64 views
0

我正在使用Guzzle 6與Youtube API進行通信。
我已閱讀了You​​tubeAPI文檔中的etags,並試圖使其適用於我。
首先,我在Google的OAuth 2.0 Playground上測試了它。
我已經建立起來並且將所得的下列試了幾次後:Gu 6 6返回200而不是304使用「If-None-Match」標題和etags

Google OAuth 2.0 Playground and using 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 instead 304 returned

我不知道很多關於HTTP協議,因此我不知道如果我失去了一些東西..

回答

1

(或者與暴食或標題本身通話)乍看之下,您的請求看起來像是失敗了請求的驗證部分,因爲複製和粘貼的圖像列出了身份驗證,但它不在您的代碼片段中。如果不能查看收到的全部答覆,很難說清楚。

使用auth爲交易啓用驗證。 使用debug來啓用調試,這將允許您比較Guzzle收到的請求和響應以及期望值。

您可能也有興趣利用Official Google PHP Client library。在這個圖書館的核心使用Guzzle。