Youtube Data API v3在资源中选择字段时不发送nextPageToken

2024-09-30 04:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Youtube数据API v3获取视频评论。我遵循了官方文件https://developers.google.com/youtube/v3/docs/commentThreads/list

使用https://www.googleapis.com/youtube/v3/commentThreads?key=MY_KEY&videoId=ay4MKe1u7Ec&part=id,snippet,replies&maxResults=2

我明白了

{
"kind": "youtube#commentThreadListResponse",
"etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/lPy9jihUjGu4N-8qmo83AkMD81E\"",
"nextPageToken": "QURTSl9pMW1lUmhuMHNKaWVDQWhOUUs3UzltVWpEa3JBTW5VdTNQY3I2al9OMmg3VUhUcVRId0lRYkZwV0RiLWdGbG90d3lHQlhzT3dSUnVObmdmaEdpY0RCOGlqRnNUR0pUM05lenpsaVJCUkpFZUFlWDF0SVNyVGFNMURYZ3M=",
"pageInfo": {
"totalResults": 2,
"resultsPerPage": 2
},
"items": [
{
"kind": "youtube#commentThread",
"etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/-srkOOUlK2u6VrOhrHLwNvW9uhY\"",
"id": "Ugwud1sVfboCaSWuyR54AaABAg",
"snippet": {
    "videoId": "ay4MKe1u7Ec",
    "topLevelComment": {
    "kind": "youtube#comment",
    "etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/EdeFN_0T_dycmIDzkqVgskOHm6U\"",
    "id": "Ugwud1sVfboCaSWuyR54AaABAg",
    "snippet": {
    "authorDisplayName": "Gulnaz Saydullaeva",
    "authorProfileImageUrl": "https://yt3.ggpht.com/-9jnflsaG9cs/AAAAAAAAAAI/AAAAAAAAAAA/NRge-Hcjxg8/s28-c-k-no-mo-rj-c0xffffff/photo.jpg",
    "authorChannelUrl": "http://www.youtube.com/channel/UCKoQIiDBhLNU8cpEMKPfLrQ",
    "authorChannelId": {
    "value": "UCKoQIiDBhLNU8cpEMKPfLrQ"
    },
    "videoId": "ay4MKe1u7Ec",
    "textDisplay": "А у меня не Android 4. 4. 2 у меня на моём стоит Android 5 0 1",
    "textOriginal": "А у меня не Android 4. 4. 2 у меня на моём стоит Android 5 0 1",
    "canRate": true,
    "viewerRating": "none",
    "likeCount": 1,
    "publishedAt": "2018-01-22T15:27:39.000Z",
    "updatedAt": "2018-01-22T15:27:39.000Z"
    }
    },
    "canReply": true,
    "totalReplyCount": 0,
    "isPublic": true
}
},
{
"kind": "youtube#commentThread",
"etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/Mdis62b6IE0Y3r5zGlGLEDj71pI\"",
"id": "UgxPYBqwH2v_tW2cQjt4AaABAg",
"snippet": {
    "videoId": "ay4MKe1u7Ec",
    "topLevelComment": {
    "kind": "youtube#comment",
    "etag": "\"RmznBCICv9YtgWaaa_nWDIH1_GM/manyPQXT2C8CQ66KYtWMWVIUsUI\"",
    "id": "UgxPYBqwH2v_tW2cQjt4AaABAg",
    "snippet": {
    "authorDisplayName": "Gulnaz Saydullaeva",
    "authorProfileImageUrl": "https://yt3.ggpht.com/-9jnflsaG9cs/AAAAAAAAAAI/AAAAAAAAAAA/NRge-Hcjxg8/s28-c-k-no-mo-rj-c0xffffff/photo.jpg",
    "authorChannelUrl": "http://www.youtube.com/channel/UCKoQIiDBhLNU8cpEMKPfLrQ",
    "authorChannelId": {
    "value": "UCKoQIiDBhLNU8cpEMKPfLrQ"
    },
    "videoId": "ay4MKe1u7Ec",
    "textDisplay": "У меня такой же не lte",
    "textOriginal": "У меня такой же не lte",
    "canRate": true,
    "viewerRating": "none",
    "likeCount": 0,
    "publishedAt": "2018-01-16T13:32:26.000Z",
    "updatedAt": "2018-01-16T13:32:26.000Z"
    }
    },
    "canReply": true,
    "totalReplyCount": 0,
    "isPublic": true
}
}
]
}

items我得到了很多响应字段,我对所有字段都不感兴趣。所以试图在url中添加fields参数

{cd4}

然后我只得到想要的字段,但是我不能得到nextPageToken没有它我就无法进入下一页。在

^{pr2}$

我用简单的URL调用python脚本

import requests
url = 'https://www.googleapis.com/youtube/v3/commentThreads'
params = {'key': API_KEY, 
        'videoId': 'ay4MKe1u7Ec', 
        'part': 'id,snippet,replies',
        'maxResults': 2,
        'fields': 'items(id,snippet(topLevelComment(snippet(textOriginal))))'}
r = requests.get(url, params=params)
print(r.json())

我不知道为什么我的yuotubeapi没有给我nextPageToken关于使用fields param。有人请告诉我是不是用错了API。在


Tags: httpscomidtrueyoutubewwwv3snippet

热门问题