Maintenant que j'ai la possibilité de toucher à l'API de données YouTube, je voudrais résumer les informations.
https://developers.google.com/youtube/v3/docs
Avec l'API fournie par YouTube, vous pouvez obtenir des informations telles que des vidéos et des chaînes et les utiliser dans votre site Web ou votre application. Veuillez noter que la limite maximale d'utilisation de l'API (quota) par jour est de 10 000.
À partir de là Créez un projet.
Le nom du projet est arbitraire, ** N'oubliez pas de changer l'ID du projet. ** **
Activez l'API de données YouTube, car elle sera utilisée dans le projet créé.
À partir d'ici Valable après la sélection d'un projet À
À partir de là (https://console.cloud.google.com/apis/api/youtube.googleapis.com/credentials?hl=ja) Créez une clé API.
Notez la clé API que vous avez créée, car elle sera utilisée lorsque vous utilisez réellement l'API.
Utilisez pyenv pour changer la version de python.
$ pyenv install 3.8.3
$ pyenv local 3.8.3
Installez le package pour utiliser l'API de données YouTube.
$ pip install google-api-python-client==1.9.3
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from apiclient.discovery import build
API_KEY = '<Entrez la clé API que vous avez obtenue la dernière fois>'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
SEARCH_TEXT = '<Nom de la chaîne que vous souhaitez rechercher>'
youtube = build(
YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=API_KEY
)
response = youtube.search().list(q=SEARCH_TEXT, part='id,snippet', maxResults=25).execute()
for item in response.get('items', []):
if item['id']['kind'] != 'youtube#channel':
continue
print('*' * 10)
print(json.dumps(item, indent=2, ensure_ascii=False))
print('*' * 10)
↓ Le résultat ressemble à ceci ↓
**********
{
"kind": "youtube#searchResult",
"etag": "jjisWD5m1O7aBCLstjwy_ldRnf4",
"id": {
"kind": "youtube#channel",
"channelId": "UCTmRAt3wuYY8W5z9j9va97Q"
},
"snippet": {
"publishedAt": "2017-12-13T04:47:03Z",
"channelId": "UCTmRAt3wuYY8W5z9j9va97Q",
"title": "Yahoo!Réseau de développeurs",
"description": "Yahoo! JAPAN Technology channel produced by Yahoo! JAPAN.",
"thumbnails": {
"default": {
"url": "https://yt3.ggpht.com/-ZUW9jc79uzQ/AAAAAAAAAAI/AAAAAAAAAAA/LWM2XNvQPmI/s88-c-k-no-mo-rj-c0xffffff/photo.jpg "
},
"medium": {
"url": "https://yt3.ggpht.com/-ZUW9jc79uzQ/AAAAAAAAAAI/AAAAAAAAAAA/LWM2XNvQPmI/s240-c-k-no-mo-rj-c0xffffff/photo.jpg "
},
"high": {
"url": "https://yt3.ggpht.com/-ZUW9jc79uzQ/AAAAAAAAAAI/AAAAAAAAAAA/LWM2XNvQPmI/s800-c-k-no-mo-rj-c0xffffff/photo.jpg "
}
},
"channelTitle": "Yahoo!Réseau de développeurs",
"liveBroadcastContent": "none",
"publishTime": "2017-12-13T04:47:03Z"
}
}
**********
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from apiclient.discovery import build
API_KEY = '<Entrez la clé API précédemment obtenue>'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
CHANNEL_ID = '<ID de la dernière chaîne acquis>'
youtube = build(
YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=API_KEY
)
response = youtube.channels().list(
part = 'snippet,statistics',
id = CHANNEL_ID
).execute()
for item in response.get("items", []):
if item["kind"] != "youtube#channel":
continue
print('*' * 10)
print(json.dumps(item, indent=2, ensure_ascii=False))
print('*' * 10)
↓ Le résultat ressemble à ceci ↓
**********
{
"kind": "youtube#channel",
"etag": "itHsa0qDp15obMLvkpN6HnFjF_M",
"id": "UCTmRAt3wuYY8W5z9j9va97Q",
"snippet": {
"title": "Yahoo!Réseau de développeurs",
"description": "Yahoo! JAPAN Technology channel produced by Yahoo! JAPAN.",
"customUrl": "yahoodevelopernetworkjp",
"publishedAt": "2017-12-13T04:47:03Z",
"thumbnails": {
"default": {
"url": "https://yt3.ggpht.com/a/AATXAJzznTJCL9uFV63JvRtbeYwgzur7mwoqtPRQvg=s88-c-k-c0xffffffff-no-rj-mo",
"width": 88,
"height": 88
},
"medium": {
"url": "https://yt3.ggpht.com/a/AATXAJzznTJCL9uFV63JvRtbeYwgzur7mwoqtPRQvg=s240-c-k-c0xffffffff-no-rj-mo",
"width": 240,
"height": 240
},
"high": {
"url": "https://yt3.ggpht.com/a/AATXAJzznTJCL9uFV63JvRtbeYwgzur7mwoqtPRQvg=s800-c-k-c0xffffffff-no-rj-mo",
"width": 800,
"height": 800
}
},
"localized": {
"title": "Yahoo!Réseau de développeurs",
"description": "Yahoo! JAPAN Technology channel produced by Yahoo! JAPAN."
},
"country": "JP"
},
"statistics": {
"viewCount": "7471",
"commentCount": "0",
"subscriberCount": "157",
"hiddenSubscriberCount": false,
"videoCount": "12"
}
}
**********
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from apiclient.discovery import build
API_KEY = '<Entrez la clé API précédemment obtenue>'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
CHANNEL_ID = '<ID de chaîne précédemment obtenu>'
youtube = build(
YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=API_KEY
)
response = youtube.search().list(
part = "snippet",
channelId = CHANNEL_ID,
maxResults = 1,
order = "date" #Trier par date
).execute()
for item in response.get("items", []):
if item["id"]["kind"] != "youtube#video":
continue
print('*' * 10)
print(json.dumps(item, indent=2, ensure_ascii=False))
print('*' * 10)
↓ Le résultat ressemble à ceci ↓
**********
{
"kind": "youtube#searchResult",
"etag": "CtC0g1Ocx7pK6H8Yhd3hGS5z3uY",
"id": {
"kind": "youtube#video",
"videoId": "vd3YVCtW-LY"
},
"snippet": {
"publishedAt": "2020-02-20T06:02:39Z",
"channelId": "UCTmRAt3wuYY8W5z9j9va97Q",
"title": "Conception de transition d'écran à l'aide du nouveau portail HTML ~ PayPay Mall et Yahoo!Avec un exemple d'actualité ~/ Developers Summit 2020 14-A-2",
"description": "Vidéo de la session au Developers Summit 2020. Décrit le portail. Cliquez ici pour un aperçu de l'étape https://event.shoeisha.jp/devsumi/20200213/session/2384/...",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/default.jpg ",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/mqdefault.jpg ",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/hqdefault.jpg ",
"width": 480,
"height": 360
}
},
"channelTitle": "Yahoo!Réseau de développeurs",
"liveBroadcastContent": "none",
"publishTime": "2020-02-20T06:02:39Z"
}
}
**********
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from apiclient.discovery import build
API_KEY = '<Entrez la clé API précédemment obtenue>'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
CHANNEL_ID = '<ID de chaîne précédemment obtenu>'
VIDEO_ID_LIST = ['<ID de la dernière vidéo acquis>']
youtube = build(
YOUTUBE_API_SERVICE_NAME,
YOUTUBE_API_VERSION,
developerKey=API_KEY
)
for video_id in VIDEO_ID_LIST:
response = youtube.videos().list(
part = 'snippet,statistics',
id = video_id
).execute()
for item in response.get("items", []):
if item["kind"] != "youtube#video":
continue
print('*' * 10)
print(json.dumps(item, indent=2, ensure_ascii=False))
print('*' * 10)
↓ Le résultat ressemble à ceci ↓
**********
{
"kind": "youtube#video",
"etag": "Y5QH8Ur-9BQigbr4XHTRNldn7_I",
"id": "vd3YVCtW-LY",
"snippet": {
"publishedAt": "2020-02-20T06:02:39Z",
"channelId": "UCTmRAt3wuYY8W5z9j9va97Q",
"title": "Conception de transition d'écran à l'aide du nouveau portail HTML ~ PayPay Mall et Yahoo!Avec un exemple d'actualité ~/ Developers Summit 2020 14-A-2",
"description": "Vidéo de la session au Developers Summit 2020.\Décrit nportal.\n\n Cliquez ici pour un aperçu de la scène\nhttps://event.shoeisha.jp/devsumi/20200213/session/2384/\n\n Cliquez ici pour les matériaux\nhttps://www.slideshare.net/techblogyahoo/htmlportal-paypayyahoo-devsumi",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/default.jpg ",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/mqdefault.jpg ",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/vd3YVCtW-LY/hqdefault.jpg ",
"width": 480,
"height": 360
}
},
"channelTitle": "Yahoo!Réseau de développeurs",
"tags": [
"devsumi",
"devsumiA",
"Portals"
],
"categoryId": "28",
"liveBroadcastContent": "none",
"defaultLanguage": "ja",
"localized": {
"title": "Conception de transition d'écran à l'aide du nouveau portail HTML ~ PayPay Mall et Yahoo!Avec un exemple d'actualité ~/ Developers Summit 2020 14-A-2",
"description": "Vidéo de la session au Developers Summit 2020.\Décrit nportal.\n\n Cliquez ici pour un aperçu de la scène\nhttps://event.shoeisha.jp/devsumi/20200213/session/2384/\n\n Cliquez ici pour les matériaux\nhttps://www.slideshare.net/techblogyahoo/htmlportal-paypayyahoo-devsumi"
},
"defaultAudioLanguage": "ja"
},
"statistics": {
"viewCount": "74",
"likeCount": "2",
"dislikeCount": "0",
"favoriteCount": "0",
"commentCount": "0"
}
}
**********
Comment était-ce? Il existe de nombreuses autres publications sur les Exemples de code, alors jetez-y un œil et essayez-les. Si vous trouvez quelque chose qui ne va pas, veuillez commenter mm
Recommended Posts