1

ビデオのビデオ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だけが必要です。

4

2 に答える 2

2

ここでクエリを試すことができます:

https://developers.google.com/youtube/v3/docs/search/list#try-it

次のクエリは、ビデオIDのみを検索して取得する方法であると思います。

https://www.googleapis.com/youtube/v3/search?part=id&q= {NAME}&type = video&fields = items%2Fid&key = {YOUR_API_KEY}

たとえば、{NAME}がpsyの場合、この呼び出しは次のデータを返します。このデータから、アイテムの1つのvideoIdを取得できます。

{
 "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"
于 2013-01-26T01:51:51.160 に答える
0

以下のコードを試してください:

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']
于 2017-05-13T00:46:27.867 に答える