Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Youtube api YouTube API etag缓存,每次请求etag都会刷新_Youtube Api_Youtube Data Api - Fatal编程技术网

Youtube api YouTube API etag缓存,每次请求etag都会刷新

Youtube api YouTube API etag缓存,每次请求etag都会刷新,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,第一步: 我发送了GET请求 curl --location --request GET 'https://www.googleapis.com/youtube/v3/videos?key={API_KEY}&part=id&chart=mostPopular&regionCode=es&videoCategoryId=17&maxResults=25' 我收到了200个OK回复,身体: { "kind": "youtube#videoListR

第一步:

我发送了GET请求

curl --location --request GET 'https://www.googleapis.com/youtube/v3/videos?key={API_KEY}&part=id&chart=mostPopular&regionCode=es&videoCategoryId=17&maxResults=25'
我收到了200个OK回复,身体:

{
    "kind": "youtube#videoListResponse",
    "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt_kvnG7LpS3dIQoCig\"",
    "nextPageToken": "CBkQAA",
    "pageInfo": {
        "totalResults": 181,
        "resultsPerPage": 25
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_GxV3cYD2wcterTfViCosiAVb54\"",
            "id": "LGnQfH8dnow"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/-qYNOMCfpr8knbAS5auTTwRVt5Q\"",
            "id": "3cO8sTv9aE4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/4VBqB7u16yEkTMk6sSYEOI4P-hs\"",
            "id": "8-7b4Ixavrg"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/ppyJEw0-OpZ3VI56IIn4vwl6Ja8\"",
            "id": "tZvxbUosFWw"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/qk0x2ve66gTYW6_g8O4BWlfrvJU\"",
            "id": "_4-KEZw9bX4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/XP7oKSr0MwfURXwaW5nr1Qi8WbE\"",
            "id": "sgERdPX_dkM"
        },
        ...(other videos...)
    ]
}
{
    "kind": "youtube#videoListResponse",
    "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_ruxn7w4X-iRBUUok6BWY66DtLU\"",
    "nextPageToken": "CBkQAA",
    "pageInfo": {
        "totalResults": 181,
        "resultsPerPage": 25
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_GxV3cYD2wcterTfViCosiAVb54\"",
            "id": "LGnQfH8dnow"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/-qYNOMCfpr8knbAS5auTTwRVt5Q\"",
            "id": "3cO8sTv9aE4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/4VBqB7u16yEkTMk6sSYEOI4P-hs\"",
            "id": "8-7b4Ixavrg"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/ppyJEw0-OpZ3VI56IIn4vwl6Ja8\"",
            "id": "tZvxbUosFWw"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/qk0x2ve66gTYW6_g8O4BWlfrvJU\"",
            "id": "_4-KEZw9bX4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/XP7oKSr0MwfURXwaW5nr1Qi8WbE\"",
            "id": "sgERdPX_dkM"
        },
        ...(other videos...)
    ]
}
我将
body.etag
值保存在缓存中,在我这边。此值:
“etag”:“\”tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt\u kvnG7LpS3dIQoCig\”

我又发送了一次相同的GET请求,但我添加了
如果没有匹配:“tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt_kvnG7LpS3dIQoCig”
HTTP头到这个GET请求中

curl --location --request GET 'https://www.googleapis.com/youtube/v3/videos?key={API_KEY}&part=id&chart=mostPopular&regionCode=es&videoCategoryId=17&maxResults=25' \
--header 'If-None-Match: "tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt_kvnG7LpS3dIQoCig"'
我收到了200个OK回复,身体:

{
    "kind": "youtube#videoListResponse",
    "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt_kvnG7LpS3dIQoCig\"",
    "nextPageToken": "CBkQAA",
    "pageInfo": {
        "totalResults": 181,
        "resultsPerPage": 25
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_GxV3cYD2wcterTfViCosiAVb54\"",
            "id": "LGnQfH8dnow"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/-qYNOMCfpr8knbAS5auTTwRVt5Q\"",
            "id": "3cO8sTv9aE4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/4VBqB7u16yEkTMk6sSYEOI4P-hs\"",
            "id": "8-7b4Ixavrg"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/ppyJEw0-OpZ3VI56IIn4vwl6Ja8\"",
            "id": "tZvxbUosFWw"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/qk0x2ve66gTYW6_g8O4BWlfrvJU\"",
            "id": "_4-KEZw9bX4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/XP7oKSr0MwfURXwaW5nr1Qi8WbE\"",
            "id": "sgERdPX_dkM"
        },
        ...(other videos...)
    ]
}
{
    "kind": "youtube#videoListResponse",
    "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_ruxn7w4X-iRBUUok6BWY66DtLU\"",
    "nextPageToken": "CBkQAA",
    "pageInfo": {
        "totalResults": 181,
        "resultsPerPage": 25
    },
    "items": [
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/_GxV3cYD2wcterTfViCosiAVb54\"",
            "id": "LGnQfH8dnow"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/-qYNOMCfpr8knbAS5auTTwRVt5Q\"",
            "id": "3cO8sTv9aE4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/4VBqB7u16yEkTMk6sSYEOI4P-hs\"",
            "id": "8-7b4Ixavrg"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/ppyJEw0-OpZ3VI56IIn4vwl6Ja8\"",
            "id": "tZvxbUosFWw"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/qk0x2ve66gTYW6_g8O4BWlfrvJU\"",
            "id": "_4-KEZw9bX4"
        },
        {
            "kind": "youtube#video",
            "etag": "\"tnVOtk4NeGU6nDncDTE5m9SmuHc/XP7oKSr0MwfURXwaW5nr1Qi8WbE\"",
            "id": "sgERdPX_dkM"
        },
        ...(other videos...)
    ]
}
我希望收到304没有修改,不是200 OK和相同的结果。 但我还是收到了200 OK和新etag的回复。看截图


我希望只有一个第一反应。当我请求与
相同的查询时,如果没有匹配,“tnVOtk4NeGU6nDncDTE5m9SmuHc/CcRzMe1sxt_kvnG7LpS3dIQoCig”
导致请求的数据没有更改。

对不起,可能是我不理解此文档中的某些内容,但我在这里读到了:它是否以另一种方式工作?响应主体根目录(或响应标题)中的etag是否描述了youtube#VideoListResponse?有没有办法通过etag缓存此查询?请明确定义您的问题:您没有获得预期的etag或预期的HTTP响应代码?目前的问题模棱两可。请包括准确的GET请求,以便请求25个最受欢迎的视频,如您所述,包括标题。问题不清楚。您好,我已经编辑了这个问题。现在清楚了吗?谢谢你!现在问题很清楚了。你知道这种行为的原因吗?对不起,可能是我不理解这份文件中的某些内容,但我在这里读到了:它是以另一种方式工作的吗?响应主体根目录(或响应标题)中的etag是否描述了youtube#VideoListResponse?有没有办法通过etag缓存此查询?请明确定义您的问题:您没有获得预期的etag或预期的HTTP响应代码?目前的问题模棱两可。请包括准确的GET请求,以便请求25个最受欢迎的视频,如您所述,包括标题。问题不清楚。您好,我已经编辑了这个问题。现在清楚了吗?谢谢你!现在问题很清楚了。你知道这种行为的原因吗?