예제 #1
0
 def search_shows_by_keyword(self,
                             keyword,
                             unite=0,
                             source_site=None,
                             category=None,
                             release_year=None,
                             area=None,
                             orderby='view-count',
                             paid=None,
                             hasvideotype=None,
                             page=1,
                             count=20):
     """doc: http://open.youku.com/docs/doc?id=82
     """
     url = 'https://openapi.youku.com/v2/searches/show/by_keyword.json'
     params = {
         'client_id': self.client_id,
         'keyword': keyword,
         'unite': unite,
         'source_site': source_site,
         'category': category,
         'release_year': release_year,
         'area': area,
         'orderby': orderby,
         'paid': paid,
         'hasvideotype': hasvideotype,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #2
0
    def create(self, params):
        # prepare file info
        params['file_name'] = self.file_name
        params['file_size'] = self.file_size
        params['file_md5'] = self.file_md5 = self.checksum_md5file(self.file)
        self.logger.info('upload file %s, size: %d bytes' %
                         (self.file_name, self.file_size))
        self.logger.info('md5 of %s: %s' %
                         (self.file_name, self.file_md5))

        params['client_id'] = self.client_id
        params['access_token'] = self.access_token

        url = 'https://openapi.youku.com/v2/uploads/create.json'
        r = requests.get(url, params=params)
        check_error(r, 201)
        result = r.json()

        self.upload_token = result['upload_token']
        self.logger.info('upload token of %s: %s' %
                         (self.file_name, self.upload_token))

        if result['instant_upload_ok'] == 'yes':
            # pass upload and finish
            # this case hasn't happen and test
            self.logger.info("instant upload %s" % self.file_name)
            return self.commit()

        self.upload_server_ip = socket.gethostbyname(
            result['upload_server_uri'])
        self.logger.info('upload_server_ip of %s: %s' %
                         (self.file_name, self.upload_server_ip))
예제 #3
0
 def search_show_top_unite(self,
                           category,
                           genre=None,
                           area=None,
                           year=None,
                           orderby=None,
                           headnum=1,
                           tailnum=1,
                           onesiteflag=None,
                           page=1,
                           count=20):
     """doc: http://open.youku.com/docs/doc?id=86
     """
     url = 'https://openapi.youku.com/v2/searches/show/top_unite.json'
     params = {
         'client_id': self.client_id,
         'category': category,
         'genre': genre,
         'area': area,
         'year': year,
         'orderby': orderby,
         'headnum': headnum,
         'tailnum': tailnum,
         'onesiteflag': onesiteflag,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #4
0
 def search_shows_by_keyword(self, keyword, unite=0, source_site=None,
                             category=None, release_year=None,
                             area=None, orderby='view-count',
                             paid=None, hasvideotype=None,
                             page=1, count=20):
     """doc: http://open.youku.com/docs/doc?id=82
     """
     url = 'https://openapi.youku.com/v2/searches/show/by_keyword.json'
     params = {
         'client_id': self.client_id,
         'keyword': keyword,
         'unite': unite,
         'source_site': source_site,
         'category': category,
         'release_year': release_year,
         'area': area,
         'orderby': orderby,
         'paid': paid,
         'hasvideotype': hasvideotype,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #5
0
 def search_videos_by_keyword(self,
                              keyword,
                              category=None,
                              period='week',
                              orderby='relevance',
                              public_type='all',
                              paid=None,
                              timeless=None,
                              timemore=None,
                              streamtypes=None,
                              page=1,
                              count=20):
     """doc: http://open.youku.com/docs/doc?id=81
     """
     url = 'https://openapi.youku.com/v2/searches/video/by_keyword.json'
     params = {
         'client_id': self.client_id,
         'keyword': keyword,
         'category': category,
         'period': period,
         'orderby': orderby,
         'public_type': public_type,
         'paid': paid,
         'timeless': timeless,
         'timemore': timemore,
         'streamtypes': streamtypes,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #6
0
 def playlist_category(self):
     """doc: http://open.youku.com/docs/doc?id=94
     """
     url = 'https://openapi.youku.com/v2/schemas/playlist/category.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #7
0
 def find_persons_by_type(self,
                          type,
                          nationality=None,
                          gender=None,
                          firstletter=None,
                          orderby='view-week-count',
                          page=1,
                          count=20):
     """doc: http://open.youku.com/docs/docs?id=89
     """
     url = 'https://openapi.youku.com/v2/persons/by_type.json'
     params = {
         'client_id': self.client_id,
         'type': type,
         'nationality': nationality,
         'gender': gender,
         'firstletter': firstletter,
         'orderby': orderby,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #8
0
 def playlist_category(self):
     """doc: http://open.youku.com/docs/doc?id=94
     """
     url = 'https://openapi.youku.com/v2/schemas/playlist/category.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #9
0
 def upload_spec(self):
     """doc: http://open.youku.com/docs/doc?id=91
     """
     url = 'https://openapi.youku.com/v2/schemas/upload/spec.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #10
0
 def comment_expression(self):
     """doc: http://open.youku.com/docs/doc?id=92
     """
     url = 'https://openapi.youku.com/v2/schemas/comment/expression.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #11
0
 def upload_spec(self):
     """doc: http://open.youku.com/docs/doc?id=91
     """
     url = 'https://openapi.youku.com/v2/schemas/upload/spec.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #12
0
 def find_shows_by_category(self,
                            category,
                            genre=None,
                            area=None,
                            release_year=None,
                            paid=None,
                            orderby='view-today-count',
                            streamtypes=None,
                            person=None,
                            page=1,
                            count=20):
     """doc: http://open.youku.com/docs/doc?id=62
     """
     url = 'https://openapi.youku.com/v2/shows/by_category.json'
     params = {
         'client_id': self.client_id,
         'category': category,
         'genre': genre,
         'area': area,
         'release_year': release_year,
         'paid': paid,
         'orderby': orderby,
         'streamtypes': streamtypes,
         'person': person,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #13
0
 def searche_top_category(self):
     """doc: http://open.youku.com/docs/doc?id=95
     """
     url = 'https://openapi.youku.com/v2/schemas/searche/top/category.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #14
0
 def comment_expression(self):
     """doc: http://open.youku.com/docs/doc?id=92
     """
     url = 'https://openapi.youku.com/v2/schemas/comment/expression.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #15
0
파일: youku_shows.py 프로젝트: nsdown/youku
 def find_shows_by_category(self, category, genre=None, area=None,
                            release_year=None, paid=None,
                            orderby='view-today-count',
                            streamtypes=None, person=None,
                            page=1, count=20):
     """doc: http://open.youku.com/docs/doc?id=62
     """
     url = 'https://openapi.youku.com/v2/shows/by_category.json'
     params = {
         'client_id': self.client_id,
         'category': category,
         'genre': genre,
         'area': area,
         'release_year': release_year,
         'paid': paid,
         'orderby': orderby,
         'streamtypes': streamtypes,
         'person': person,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #16
0
 def searche_top_category(self):
     """doc: http://open.youku.com/docs/doc?id=95
     """
     url = 'https://openapi.youku.com/v2/schemas/searche/top/category.json'
     r = requests.get(url)
     check_error(r)
     return r.json()
예제 #17
0
 def search_videos_by_keyword(self, keyword, category=None,
                              period='week', orderby='relevance',
                              public_type='all', paid=None,
                              timeless=None, timemore=None,
                              streamtypes=None,
                              page=1, count=20):
     """doc: http://open.youku.com/docs/doc?id=81
     """
     url = 'https://openapi.youku.com/v2/searches/video/by_keyword.json'
     params = {
         'client_id': self.client_id,
         'keyword': keyword,
         'category': category,
         'period': period,
         'orderby': orderby,
         'public_type': public_type,
         'paid': paid,
         'timeless': timeless,
         'timemore': timemore,
         'streamtypes': streamtypes,
         'page': page,
         'count': count
     }
     params = remove_none_value(params)
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #18
0
 def update_video(self,
                  access_token,
                  video_id,
                  title=None,
                  tags=None,
                  category=None,
                  copyright_type=None,
                  public_type=None,
                  watch_password=None,
                  description=None,
                  thumbnail_seq=None):
     """doc: http://open.youku.com/docs/doc?id=50
     """
     url = 'https://openapi.youku.com/v2/videos/update.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'video_id': video_id,
         'title': title,
         'tags': tags,
         'category': category,
         'copyright_type': copyright_type,
         'public_type': public_type,
         'watch_password': watch_password,
         'description': description,
         'thumbnail_seq': thumbnail_seq
     }
     data = remove_none_value(data)
     r = requests.post(url, data=data, verify=False)
     check_error(r)
     return r.json()['id']
예제 #19
0
    def create(self, params):
        # prepare file info
        params['file_name'] = self.file_name
        params['file_size'] = self.file_size
        params['file_md5'] = self.file_md5 = self.checksum_md5file(self.file)
        self.logger.info('upload file %s, size: %d bytes' %
                         (self.file_name, self.file_size))
        self.logger.info('md5 of %s: %s' %
                         (self.file_name, self.file_md5))

        params['client_id'] = self.client_id
        params['access_token'] = self.access_token

        url = 'https://openapi.youku.com/v2/uploads/create.json'
        r = requests.get(url, params=params, verify=False)
        check_error(r, 201)
        result = r.json()

        self.upload_token = result['upload_token']
        self.logger.info('upload token of %s: %s' %
                         (self.file_name, self.upload_token))

        if result['instant_upload_ok'] == 'yes':
            # pass upload and finish
            # this case hasn't happen and test
            self.logger.info("instant upload %s" % self.file_name)
            return self.commit()

        self.upload_server_ip = socket.gethostbyname(
            result['upload_server_uri'])
        self.logger.info('upload_server_ip of %s: %s' %
                         (self.file_name, self.upload_server_ip))
예제 #20
0
 def new_slice(self):
     params = {
         'upload_token': self.upload_token
     }
     url = 'http://%s/gupload/new_slice' % self.upload_server_ip
     r = requests.get(url, params=params)
     check_error(r, 201)
     self._save_slice_state(r.json())
예제 #21
0
 def subscribe_notice(self, access_token):
     """doc: http://open.youku.com/docs/doc?id=31
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/notice.json'
     params = {'client_id': self.client_id, 'access_token': access_token}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #22
0
 def search_keyword_complete(self, keyword):
     """doc: http://open.youku.com/docs/doc?id=83
     """
     url = 'https://openapi.youku.com/v2/searches/keyword/complete.json'
     params = {'client_id': self.client_id, 'keyword': keyword}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #23
0
 def check(self):
     params = {
         'upload_token': self.upload_token
     }
     url = 'http://%s/gupload/check' % self.upload_server_ip
     r = requests.get(url, params=params)
     check_error(r, 200)
     return r.json()
예제 #24
0
 def new_slice(self):
     params = {
         'upload_token': self.upload_token
     }
     url = 'http://%s/gupload/new_slice' % self.upload_server_ip
     r = requests.get(url, params=params)
     check_error(r, 201)
     self._save_slice_state(r.json())
예제 #25
0
 def find_person_by_id(self, person_id):
     """doc: http://open.youku.com/docs/docs?id=87
     """
     url = 'https://openapi.youku.com/v2/persons/show.json'
     params = {'client_id': self.client_id, 'person_id': person_id}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #26
0
 def find_comment_by_id(self, comment_id):
     """doc: http://open.youku.com/docs/doc?id=32
     """
     url = 'https://openapi.youku.com/v2/comments/show.json'
     params = {'client_id': self.client_id, 'comment_id': comment_id}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #27
0
 def find_playlists_by_ids(self, playlist_ids):
     """doc: http://open.youku.com/docs/doc?id=67
     """
     url = 'https://openapi.youku.com/v2/playlists/show_batch.json'
     params = {'client_id': self.client_id, 'playlist_ids': playlist_ids}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #28
0
 def my_info(self, access_token):
     """doc: http://open.youku.com/docs/doc?id=23
     """
     url = 'https://openapi.youku.com/v2/users/myinfo.json'
     data = {'client_id': self.client_id, 'access_token': access_token}
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #29
0
 def find_videos_by_ids(self, video_ids):
     """doc: http://open.youku.com/docs/doc?id=45
     """
     url = 'https://openapi.youku.com/v2/videos/show_basic_batch.json'
     params = {'client_id': self.client_id, 'video_ids': video_ids}
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #30
0
 def check(self):
     params = {
         'upload_token': self.upload_token
     }
     url = 'http://%s/gupload/check' % self.upload_server_ip
     r = requests.get(url, params=params)
     check_error(r, 200)
     return r.json()
예제 #31
0
파일: youku_users.py 프로젝트: nsdown/youku
 def my_info(self, access_token):
     """doc: http://open.youku.com/docs/doc?id=23
     """
     url = 'https://openapi.youku.com/v2/users/myinfo.json'
     data = {'client_id': self.client_id,
             'access_token': access_token}
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #32
0
 def find_video_details_by_ids(self, video_ids, ext=None):
     """doc: http://open.youku.com/docs/doc?id=47
     """
     url = 'https://openapi.youku.com/v2/videos/show_batch.json'
     params = {'client_id': self.client_id, 'video_ids': video_ids}
     if ext:
         params['ext'] = ext
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #33
0
 def new_slice(self):
     params = {
         'upload_token': self.upload_token
     }
     url = 'http://%s/gupload/new_slice' % self.upload_server_ip
     r = requests.get(url, params=params)
     check_error(r, 200, 201)
     # origin value is 201, but new_slice return status is 200,
     # GoTop 2016.2.9 change 201 to 200
     self._save_slice_state(r.json())
예제 #34
0
파일: youku_oauth.py 프로젝트: nsdown/youku
 def refresh_token(self, refresh_token):
     '''return origin json'''
     url = 'https://openapi.youku.com/v2/oauth2/token'
     data = {'client_id': self.client_id,
             'client_secret': self.client_secret,
             'grant_type': 'refresh_token',
             'refresh_token': refresh_token}
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #35
0
 def find_videos_by_ids(self, video_ids):
     """doc: http://open.youku.com/docs/doc?id=45
     """
     url = 'https://openapi.youku.com/v2/videos/show_basic_batch.json'
     params = {
         'client_id': self.client_id,
         'video_ids': video_ids
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #36
0
 def find_persons_by_ids(self, person_ids):
     """doc: http://open.youku.com/docs/docs?id=88
     """
     url = 'https://openapi.youku.com/v2/persons/show_batch.json'
     params = {
         'client_id': self.client_id,
         'person_ids': person_ids
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #37
0
파일: youku_shows.py 프로젝트: nsdown/youku
 def find_show_by_id(self, show_id):
     """doc: http://open.youku.com/docs/doc?id=59
     """
     url = 'https://openapi.youku.com/v2/shows/show.json'
     params = {
         'client_id': self.client_id,
         'show_id': show_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #38
0
 def search_keyword_complete(self, keyword):
     """doc: http://open.youku.com/docs/doc?id=83
     """
     url = 'https://openapi.youku.com/v2/searches/keyword/complete.json'
     params = {
         'client_id': self.client_id,
         'keyword': keyword
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #39
0
파일: youku_users.py 프로젝트: nsdown/youku
 def subscribe_notice(self, access_token):
     """doc: http://open.youku.com/docs/doc?id=31
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/notice.json'
     params = {
         'client_id': self.client_id,
         'access_token': access_token
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #40
0
파일: youku_oauth.py 프로젝트: nsdown/youku
 def get_token_by_code(self, code):
     '''return origin json'''
     url = 'https://openapi.youku.com/v2/oauth2/token'
     data = {'client_id': self.client_id,
             'client_secret': self.client_secret,
             'grant_type': 'authorization_code',
             'code': code,
             'redirect_uri': self.redirect_uri}
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #41
0
 def find_playlist_by_id(self, playlist_id):
     """doc: http://open.youku.com/docs/doc?id=66
     """
     url = 'https://openapi.youku.com/v2/playlists/show.json'
     params = {
         'client_id': self.client_id,
         'playlist_id': playlist_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #42
0
 def find_comments_by_ids(self, comment_ids):
     """doc: http://open.youku.com/docs/doc?id=34
     """
     url = 'https://openapi.youku.com/v2/comments/show_batch.json'
     params = {
         'client_id': self.client_id,
         'comment_ids': comment_ids
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #43
0
 def destroy_comment(self, access_token, comment_id):
     """doc: http://open.youku.com/docs/doc?id=42
     """
     url = 'https://openapi.youku.com/v2/comments/destroy.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'comment_id': comment_id
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()['id']
예제 #44
0
 def destroy_favorite_video(self, access_token, video_id):
     """doc: http://open.youku.com/docs/doc?id=56
     """
     url = 'https://openapi.youku.com/v2/videos/favorite/destroy.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'video_id': video_id
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()['id']
예제 #45
0
 def find_videos_by_related(self, video_id, count=20):
     """doc: http://open.youku.com/docs/doc?id=52
     """
     url = 'https://openapi.youku.com/v2/videos/by_related.json'
     params = {
         'client_id': self.client_id,
         'video_id': video_id,
         'count': count
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #46
0
 def find_next_video_in_playlist(self, playlist_id, cur_video_id):
     """doc: http://open.youku.com/docs/doc?id=78
     """
     url = 'https://openapi.youku.com/v2/playlists/video/next.json'
     params = {
         'client_id': self.client_id,
         'playlist_id': playlist_id,
         'video_id': cur_video_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #47
0
파일: youku_users.py 프로젝트: nsdown/youku
 def cancel_subscribe(self, access_token, show_id):
     """doc: ??
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/cancel.json'
     params = {
         'client_id': self.client_id,
         'access_token': access_token,
         'show_id': show_id
     }
     r = requests.post(url, data=params)
     check_error(r)
     return r.json()['result'] == 0
예제 #48
0
 def find_shows_by_related(self, show_id, count=20):
     """doc: http://open.youku.com/docs/doc?id=63
     """
     url = 'https://openapi.youku.com/v2/shows/by_related.json'
     params = {
         'client_id': self.client_id,
         'show_id': show_id,
         'count': count
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #49
0
파일: youku_users.py 프로젝트: nsdown/youku
 def create_subscribe(self, access_token, show_id):
     """doc: http://open.youku.com/docs/doc?id=29
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/create.json'
     params = {
         'client_id': self.client_id,
         'access_token': access_token,
         'show_id': show_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()['result'] == 0
예제 #50
0
 def refresh_token(self, refresh_token):
     '''return origin json'''
     url = 'https://openapi.youku.com/v2/oauth2/token'
     data = {
         'client_id': self.client_id,
         'client_secret': self.client_secret,
         'grant_type': 'refresh_token',
         'refresh_token': refresh_token
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #51
0
 def cancel_subscribe(self, access_token, show_id):
     """doc: ??
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/cancel.json'
     params = {
         'client_id': self.client_id,
         'access_token': access_token,
         'show_id': show_id
     }
     r = requests.post(url, data=params)
     check_error(r)
     return r.json()['result'] == 0
예제 #52
0
 def destroy_favorite_video(self, access_token, video_id):
     """doc: http://open.youku.com/docs/doc?id=56
     """
     url = 'https://openapi.youku.com/v2/videos/favorite/destroy.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'video_id': video_id
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()['id']
예제 #53
0
 def find_next_video_in_playlist(self, playlist_id, cur_video_id):
     """doc: http://open.youku.com/docs/doc?id=78
     """
     url = 'https://openapi.youku.com/v2/playlists/video/next.json'
     params = {
         'client_id': self.client_id,
         'playlist_id': playlist_id,
         'video_id': cur_video_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #54
0
 def create_subscribe(self, access_token, show_id):
     """doc: http://open.youku.com/docs/doc?id=29
     """
     url = 'https://openapi.youku.com/v2/users/subscribe/create.json'
     params = {
         'client_id': self.client_id,
         'access_token': access_token,
         'show_id': show_id
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()['result'] == 0
예제 #55
0
 def destroy_playlist(self, access_token, playlist_id):
     """doc: http://open.youku.com/docs/doc?id=74
     """
     url = 'https://openapi.youku.com/v2/playlists/destroy.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'playlist_id': playlist_id
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()['id']
예제 #56
0
 def del_videos_from_playlist(self, access_token, playlist_id, video_ids):
     """doc: http://open.youku.com/docs/doc?id=76
     """
     url = 'https://openapi.youku.com/v2/playlists/video/del.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'playlist_id': playlist_id,
         'video_ids': video_ids
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()['id']
예제 #57
0
 def find_hot_comments_by_video(self, video_id, page=1, count=20):
     """doc: http://open.youku.com/docs/doc?id=36
     """
     url = 'https://openapi.youku.com/v2/comments/hot/by_video.json'
     params = {
         'client_id': self.client_id,
         'video_id': video_id,
         'page': page,
         'count': count
     }
     r = requests.get(url, params=params)
     check_error(r)
     return r.json()
예제 #58
0
파일: youku_oauth.py 프로젝트: nsdown/youku
 def get_token_by_password(self, username, password):
     ''' To use this method, you must be cooperation level with youku.
     return origin json
     '''
     url = 'https://openapi.youku.com/v2/oauth2/token'
     data = {'client_id': self.client_id,
             'client_secret': self.client_secret,
             'grant_type': 'password',
             'username': username,
             'password': password}
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()
예제 #59
0
 def find_comments_by_mention_me(self, access_token, page=1, count=20):
     """doc: http://open.youku.com/docs/doc?id=38
     """
     url = 'https://openapi.youku.com/v2/comments/by_mention_me.json'
     data = {
         'client_id': self.client_id,
         'access_token': access_token,
         'page': page,
         'count': count
     }
     r = requests.post(url, data=data)
     check_error(r)
     return r.json()