Compare commits
2 Commits
4d256d6aa4
...
f97e6b5b1c
Author | SHA1 | Date | |
---|---|---|---|
f97e6b5b1c | |||
be3a4240d0 |
35
youtube_api.py
Normal file
35
youtube_api.py
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Python wrapper for REST API for some of the YouTube API.
|
||||
from requests import get, post
|
||||
import json
|
||||
|
||||
class YouTubeAPI(object):
|
||||
def __init__(self, key):
|
||||
self.url = 'https://www.googleapis.com/youtube/v3/'
|
||||
self.key = key
|
||||
|
||||
# Sends get requests and turns requested data.
|
||||
def getRequest(self, domain):
|
||||
response = get('{}{}&key={}'.format(self.url,
|
||||
domain,
|
||||
self.key))
|
||||
return json.loads(response.text)
|
||||
|
||||
def getVideo(self, part, id):
|
||||
return self.getRequest('videos?part={}&id={}'.format(part, id))
|
||||
|
||||
def getVideoInfo(self, tag):
|
||||
snippet = self.getVideo('snippet', tag)
|
||||
status = self.getVideo('status', tag)
|
||||
snippet = snippet['items'][0]['snippet']
|
||||
status = status['items'][0]['status']
|
||||
title = snippet['title']
|
||||
date = snippet['publishedAt']
|
||||
channel = snippet['channelTitle']
|
||||
description = snippet['description']
|
||||
tags = snippet['tags']
|
||||
privacy = status['privacyStatus']
|
||||
return title, date, channel, description, tags, privacy
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from youtube_api import YouTubeAPI
|
||||
import sys
|
||||
|
||||
# Read YouTube API Key
|
||||
def getYouTubeAPIKey():
|
||||
return open('youtube.key', 'r').read()
|
||||
|
||||
print(getYouTubeAPIKey())
|
||||
exit(0)
|
||||
api = YouTubeAPI(getYouTubeAPIKey())
|
||||
print(api.getVideoInfo(sys.argv[1]))
|
||||
|
Loading…
x
Reference in New Issue
Block a user