GithubHelp home page GithubHelp logo

ahmetkotan / yapi Goto Github PK

View Code? Open in Web Editor NEW
56.0 6.0 9.0 27 KB

Python Youtube Data API v3

Home Page: http://ahmetkotan.com.tr

License: GNU General Public License v3.0

Python 100.00%
yapi python youtube api youtubeapi

yapi's Introduction

yapi

Python - Youtube Data API v3

yapi is a simple client api for youtube.It uses Youtube Data API v3.Before you can use, you must a create project in here.

Installation

sudo pip install yapi

Using

import yapi
api = yapi.YoutubeAPI('api_key')

References

video = api.get_video_info('video_id')

results = api.general_search('keyword', max_results=10)
videos = api.video_search('keyword', max_results=10, order=None)
videos = api.video_search_in_channel('keyword', 'channel_id', max_results=10, order=None)

channel = api.get_channel_by_name('channel_name')
channel = api.get_channel_by_id('channel_id')

playlist = api.get_playlist_by_id('playlist_id')
playlist = api.get_playlist_by_channel_id('channel_id')

playlistItems = api.get_playlist_items_by_playlist_id('playlist_id', max_results=20)

# Special
api_key = get_api_key()
bool = change_api_key('api_key')

Pagination

results = api.general_search('keyword', max_results=10, pageToken=PAGETOKEN)
videos = api.video_search('keyword', max_results=10, order=None, pageToken=PAGETOKEN)
videos = api.video_search_in_channel('keyword', 'channel_id', max_results=10, order=None, pageToken=PAGETOKEN)
playlistItems = api.get_playlist_items_by_playlist_id('playlist_id', max_results=20, pageToken=PAGETOKEN)

Contributing

https://github.com/ahmetkotan/yapi

Youtube Data API v3

Youtube Data API v3 Doc

yapi's People

Contributors

ahmetkotan avatar marcusabu avatar sust4in avatar whatamithinking avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

yapi's Issues

Error 'No module named requests' when using in Django

I'm trying to run a custom command in Django but it shows the following error:

File "/local/lib/python2.7/site-packages/yapi.py", line 1, in <module>
    from manager import YoutubeManager
  File "/local/lib/python2.7/site-packages/manager.py", line 9, in <module>
    import requests
ImportError: No module named requests

Here is my code:

#encoding:utf-8
from django.core.management.base import BaseCommand, CommandError
from channels.models import Channel
import yapi

class Command(BaseCommand):
    help = 'This command update channels data.'

    def handle(self, *args, **options):

        api = yapi.YoutubeAPI('MY_API_KEY') 
        channel = api.get_channel_by_id('MY_API_CHANNEL')

Django==1.8.14
yapi==v1.2

Pip Version Gives Error

FYI -
I got the following error when trying to install the pip version. The GitHub version works great, but not the pip version.

Namespace(error=Namespace(code=400, errors=[Namespace(domain='global', location='order', locationType='parameter', message="Invalid string value: 'None'. Allowed values: [date, rating, relevance, title, videocount, viewcount]", reason='invalidParameter')], message="Invalid string value: 'None'. Allowed values: [date, rating, relevance, title, videocount, viewcount]"))

Order param in video_search_in_channel

In the Youtube API you can do something like this to order results:

googleapis.com/youtube/v3/search?key=API_KEY&channelId=CHANNEL_ID&part=snippet,id&order=date&maxResults=20

Would be nice to have that option in video_search_in_channel, since now is getting old videos first.

def video_search_in_channel(self, keyword, channel_id, max_results=10, order=''):
        api_url = manager.get_api('search')
        params = {
            'q': keyword,
            'type': 'video',
            'channelId': channel_id,
            'part': 'id, snippet',
            'maxResults': max_results,
            'order': 'order'
        }

        videos = manager.api_request(api_url, params)
        return videos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.