Get Video Details From The YouTube API Using Python
November - 2021
This is the example from:
https://developers.google.com/youtube/v3/docs/videos/list?hl=fr&apix_params=%7B%22part%22%3A%5B%22snippet%22%5D%2C%22id%22%3A%5B%22Iy8R5TZNV1A%22%5D%7D&apix=true
NOTE: I'm not sure if it's completely since it doesn't show how to use the token. I've got another page on the site that shows how to do that.
TODO: Update this to make sure it's a complete, stand alone sample
TODO: Link to other pages if necessary
TODO: Figure out more about what OAUTHLIB_INSECURE_TRANSPORT
is doing in here since I didn't need it for my other scripts.
#!/usr/bin/env python3
import os
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
scopes = ["https://www.googleapis.com/auth/youtube.readonly"]
def main():
# Disable OAuthlib's HTTPS verification when running locally.
# *DO NOT* leave this option enabled in production.
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
api_service_name = "youtube"
api_version = "v3"
client_secrets_file = "YOUR_CLIENT_SECRET_FILE.json"
# Get credentials and create an API client
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
client_secrets_file, scopes)
credentials = flow.run_console()
youtube = googleapiclient.discovery.build(
api_service_name, api_version, credentials=credentials)
request = youtube.videos().list(
part="snippet",
id="Iy8R5TZNV1A"
)
response = request.execute()
print(response)
if __name__ == "__main__":
main()