Какой URL-адрес для получения данных json для видео, загруженных на YouTube от пользователя на API 3.0

Мне нужны некоторые пояснения по API YouTube.

В версии 2.0 такие URL-адреса используются для получения информации о профилях, но теперь версия 2.0 устарела.

http://gdata.youtube.com/feeds/base/users/[USERNAME]/uploads?alt=json&v=2&orderby=published&max-results=50

На данный момент я использую это поведение для захвата данных, но последний запрос json запрещен.

//поиск канала пользователя

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={USERNAME}&key={API_KEY}

//поиск видео канала

https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&channelId={CHANNEL}&key={API_KEY}

//поиск видео

https://www.googleapis.com/youtube/v3/videos?part=id%2Csnippet%2CcontentDetails%2CfileDetails%2CliveStreamingDetails%2Cplayer%2CprocessingDetails%2CrecordingDetails%2Cstatistics%2Cstatus%2Csuggestions%2CtopicDetails&id={VIDEO_LIST}&key={API_KEY}

Итак, есть ли способ получить одни и те же данные с одного URL-адреса для YouTube API версии 3.0, имея такие параметры, как USERNAME и API_KEY?


person axel    schedule 12.05.2014    source источник
comment
возможный дубликат Как получить текущий пользовательский информация профиля в YouTube Data API v3   -  person mushroom    schedule 12.05.2014
comment
это не дубликат, потому что тот, который вы связали, касается информации ПОЛЬЗОВАТЕЛЯ, мне нужно получить ЗАГРУЗЕННЫЕ ВИДЕО ПОЛЬЗОВАТЕЛЯ со всей информацией, такой как рейтинги, продолжительность, идентификатор, ссылка ...   -  person axel    schedule 13.05.2014


Ответы (3)


Это способ получить последние 50 (максимально разрешенных) видео пользователя с Youtube с помощью API 3.0.

//ищем каналы пользователя

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={USERNAME}&key={KEY}

//ищем элементы плейлиста канала загрузки

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId={PLAYLIST}&key={KEY}

//ищем видео элементов плейлиста канала загрузки

https://www.googleapis.com/youtube/v3/videos?part=id,snippet,contentDetails,status&id=BBfPP0rTjxo,o04cSB5afGc&maxResults=50&key={KEY}
person axel    schedule 13.05.2014

Версию 3 API данных YouTube можно найти здесь:

https://developers.google.com/youtube/v3/

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={USERNAME}&key={YOUR_API_KEY}
person mushroom    schedule 12.05.2014

Используйте следующий код.

#!/usr/bin/python

from apiclient.discovery import build
from apiclient.errors import HttpError


DEVELOPER_KEY = "your key"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

def youtube_search(search_item):
    youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

    search_response  = {}
    search_results = []
    search_response = youtube.search().list(
        q=search_item,
        type="video",
        part="id,snippet",
        maxResults=50
        ).execute()
    search_results.append(search_response)
    if search_response.has_key('pageInfo'):
        if search_response['pageInfo'].has_key('totalResults'):
            totalResults = search_response['pageInfo']['totalResults']
            for i in range(len(range(50,totalResults,50))):
                if search_response.has_key('nextPageToken'):
                    pT = search_response['nextPageToken']
                    search_response = {}
                    search_response = youtube.search().list(
                    q=search_item,
                    type="video",
                    part="id,snippet",
                    pageToken = pT,
                    maxResults=50,
                    ).execute()
                    print "ok"

                    time.sleep(1)
                    search_results.append(search_response)
    for i in search_results:
        for j in i['items']:
            statistics = search_video(j['id']['videoId'])
            j['statistics']=statistics
    return search_results

def search_video(id):
    youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)
    data = youtube.videos().list(
        id=id,
        part="statistics"
        ).execute()

    return data['items'][0]['statistics']
def main():
    #call the youtube_search function by passing the usernameof the user in youtube
    #eg
    #data = youtube_search('Google')

if __name__ == '__main__':
    main()

Используйте этот код для получения данных json для видео, загруженных на YouTube от пользователя на API 3.0. Вы получите максимум 500 видео на пользователя. Ключ API будет доступен https://console.developers.google.com/.

person crax    schedule 02.01.2015