我怎样才能得到的只有视频的视频ID? 据我所知,我应该使用该字段,但我不明白他们是怎么做的工作。 我的代码:
service = build('youtube', 'v3', developerKey = api_key)
request = service.search().list(q = name, part='id',fields = *what should I type here*, maxResults = 1, type = 'video').execute()
“名”是搜索项变量。 我把它从它包含名称列表的文件。 通过使用此代码,我得到的是我不需要的信息。 正如我所说的,我只需要视频ID。
你可以在这里尝试查询:
https://developers.google.com/youtube/v3/docs/search/list#try-it
我相信,下面的查询是要搜索和检索仅仅是视频ID是什么方式:
https://www.googleapis.com/youtube/v3/search?part=id&q= {NAME}&类型=视频&字段=项%2Fid&关键= {} YOUR_API_KEY
例如,如果{name}是PSY,则此调用返回下面的数据,从那里你可以检索项目之一的视频ID;
{
"items": [
{
"id": {
"kind": "youtube#video",
"videoId": "9bZkp7q19f0"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "Ecw4O5KgvsU"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "o443b2rfFnY"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "WOyo7JD7hjo"
}
},
{
"id": {
"kind": "youtube#video",
"videoId": "QZmkU5Pg1sw"
}
}
]
}
如果修改包含在Python客户端库的例子:
https://developers.google.com/api-client-library/python/
你可以做,以这种方式:
search_response = service.search().list(
q="google",
part="id",
type="video",
fields="items/id"
).execute()
videos = []
for search_result in search_response.get("items", []):
videos.append("%s" % (search_result["id"]["videoId"]))
print "Videos:\n", "\n".join(videos), "\n"
尝试下面的代码:
import requests
import json
payload = {'part': 'snippet', 'key': DEVELOPER_KEY, 'order':'viewCount', 'q': 'A R Rahman', 'maxResults': 1}
l = requests.Session().get('https://www.googleapis.com/youtube/v3/search', params=payload)
resp_dict = json.loads(l.content)
print resp_dict['items']
for i in resp_dict['items']:
print "VideoId: ",i['id']['videoId']