Сегодня наткнулся на API youtube: https://www.youtube.com/yt/dev/ru/api-resources.html
Насколько мог ознакомился с документацией и тутже возникла мысль: А возможно ли на основе данного API сделать для HiAsm полноценный компонент (или набор компонентов) для работы с ютубом?
Допустим получать статистические данные со своего канала или оповещения о стримах и новых видео с подписанных каналов. например того как приходят оповещения на почту???
Есть ли у нас такая возможность подружить HiAsm с youtube?
Редактировалось 1 раз(а), последний 2018-04-17 20:34:29
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
|
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Не думаю, что для этого надо целые компоненты делать. Всё API - это HTTP протокол (cookie, SSL, пользовательское тело запроса - JSON). Достаточно будет HTTPClient. Возможно, что-то небольшое нужно будет доделать для генерации авторизационных данных (типа HMAC, если требуется).
|
|||
карма: 26 |
|
Ответов: 204
Рейтинг: 2
|
|||
Для меня это оказалось несколько сложным. с моим знанием английского разобраться в документации оказалось сложновато (переводчик не всегда спасает)
Впрочем главный посыл понял, в рамках HiAsm работать с ютубом можно! Буду потихонечку пробовать освоить. Спасибо. |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Для начала настраиваешь API у себя в профиле и пробуешь примеры на JavaScript - думаю, достаточно будет сделать простую HTML страничку, подключить в неё клиентские библиотеки JS и попробовать отобразить данные канала.
|
|||
карма: 26 |
|
Ответов: 204
Рейтинг: 2
|
|||
Немного начало получаться.
Например, по запросу: https://www.googleapis.com/youtube/v3/channels?key=<API_KEY>&part=snippet,contentDetails,statistics&id=UCIi2Tk2POJkRgWHD7HGBa7Q (<API_KEY> = вставил зарегистрированный мой API youtub) получил вот такой результат: тык kind "youtube#channelListResponse"
etag "\"adhdwwnzlC1WiY00i7th8QwqOGQ/kHu1n2UyHlD3lDH_OQzFTYswGhQ\"" pageInfo totalResults 1 resultsPerPage 1 items 0 kind "youtube#channel" etag "\"adhdwwnzlC1WiY00i7th8QwqOGQ/reV_ijPI0BYojKRaaEzCnnv8Ahc\"" id "UCIi2Tk2POJkRgWHD7HGBa7Q" snippet title "Наука 2.0" description "Официальный канал \"Наука 2.0\". \nНаучно-популярный познавательный канал о достижениях российской и мировой науки: человек, техника, технологии и космос. Специальные проекты и программы. \n\n\"Наука 2.0\" – канал для тех, кто интересуется настоящим и хочет знать, каким будет наше будущее.\nБольшинство зрителей даже не представляет, что такое современная наука и над чем сегодня работают ученые всего мира. Наша основная задача – рассказывать о значимых изобретениях, технологиях и открытиях. Ведь в 21 веке развитый интеллект, эрудированность и способность к нестандартному мышлению - настоящий ключ к успеху." customUrl "naukatv" publishedAt "2015-08-28T09:40:10.000Z" thumbnails default url "https://yt3.ggpht.com/-8B_Z21pTQNI/AAAAAAAAAAI/AAAAAAAAAAA/p6n9PtEPBCg/s88-c-k-no-mo-rj-c0xffffff/photo.jpg" width 88 height 88 medium url "https://yt3.ggpht.com/-8B_Z21pTQNI/AAAAAAAAAAI/AAAAAAAAAAA/p6n9PtEPBCg/s240-c-k-no-mo-rj-c0xffffff/photo.jpg" width 240 height 240 high url "https://yt3.ggpht.com/-8B_Z21pTQNI/AAAAAAAAAAI/AAAAAAAAAAA/p6n9PtEPBCg/s800-c-k-no-mo-rj-c0xffffff/photo.jpg" width 800 height 800 defaultLanguage "ru" localized title "Science" description "Официальный канал \"Наука 2.0\". \nНаучно-популярный познавательный канал о достижениях российской и мировой науки: человек, техника, технологии и космос. Специальные проекты и программы. \n\n\"Наука 2.0\" – канал для тех, кто интересуется настоящим и хочет знать, каким будет наше будущее.\nБольшинство зрителей даже не представляет, что такое современная наука и над чем сегодня работают ученые всего мира. Наша основная задача – рассказывать о значимых изобретениях, технологиях и открытиях. Ведь в 21 веке развитый интеллект, эрудированность и способность к нестандартному мышлению - настоящий ключ к успеху." country "RU" contentDetails relatedPlaylists uploads "UUIi2Tk2POJkRgWHD7HGBa7Q" watchHistory "HL" watchLater "WL" statistics viewCount "85302961" commentCount "0" subscriberCount "631599" hiddenSubscriberCount false videoCount "1063" Из всего этого можно получить: описание канала, количество просмотров, комментариев, видео. А вот как запросить наличие стрима? То есть как понять онлайн сейчас канал или нет??? Существует ли вообще возможность такого запроса? В документах API я такого не обнаружил, либо просто не нашел! И да, считаю что компонент "API ютуб" для HiAsm всеже нужен! Хотя бы ради облегчения работы. Возможно когда освою полноценно этот кактус попробую сварганить компонент. |
|||
карма: 1 |
|
Ответов: 204
Рейтинг: 2
|
|||
Как оказалось за запрос о наличии онлайна на канале отвечает параметр: broadcastStatus
Но что-то у меня ничего не выходит с запросом о наличии онлайна на канале запрос вывожу так: https://www.googleapis.com/youtube/v3/liveBroadcasts?key=<API_KEY>&part=id,snippet,cdn&status=UCIi2Tk2POJkRgWHD7HGBa7Q Выходит ошибка: error errors 0 domain "global" reason "required" message "Login Required" locationType "header" location "Authorization" code 401 message "Login Required" Я так понимаю что мне говорят об ошибке авторизации, но ведь я не лезу в личные настройки канала. Всё что я пытаюсь узнать это идет стрим на канале в данную минуту или нет! Это ведь публичная информация! Возможно я как-то не так делаю запрос??? |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/list писал(а): Request
HTTP request GET https://www.googleapis.com/youtube/v3/liveBroadcasts Authorization This request requires authorization with at least one of the following scopes (read more about authentication and authorization). Редактировалось 1 раз(а), последний 2018-04-19 11:02:43 |
|||
карма: 26 |
|
Ответов: 204
Рейтинг: 2
|
|||
Netspirit писал(а): https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/list Блин, я до последнего надеялся что что-то не так понимаю. (((( Но согласитесь, ведь это тотальная глупость требовать авторизацию при запросе наличия онлайна! Не могу понять их логики в этом вопросе! Редактировалось 1 раз(а), последний 2018-04-19 13:40:13 |
|||
карма: 1 |
|
Ответов: 204
Рейтинг: 2
|
|||
Ну что же, свершилось! Мой скудный разум освоил маленькую толику знаний по API youtube/
Я вынес мозг доброй половине программистов на "тостере" и "киберфоруме" в итоге решение мне помог найти человек который уже не раз спасал меня в плане программирования! За что ему огромное спасибо! Ты мега крут!!!! ))) И так запрос на наличие стрима/онлайна канала на ютуб выглядит следующим образом: https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=ИД_КАНАЛА&eventType=live&maxResults=1&order=date&type=video&key=ВАШ API КЛЮЧЬ Если стрим присутствует то ответ будет выглядеть так: Если нет ни стрима ни оповещения о нем, то раздел: items будет пустым Всё что я хотел получить от API youtube, я получил. Теперь дело за малым собрать все это в схему и по возможности запилить компонент. ))) |
|||
карма: 1 |
|
Ответов: 204
Рейтинг: 2
|
|||
Схема готова. Вроде все что замыслил получилось. Наверняка из API youtube можно получить значительно больше, но я в эти дебри не лез. Если кто нибудь захочет. то дополнит моё творение. ))
Правда сам компонент сделать не получилось так как в схеме использовал нестандартный компонент HTTPClient. Тот что посоветовал Netspirit. Кстати спасибо ему отдельное. В нужный момент пнул меня в нужном направлении! )) Собственно сама схема.
Редактировалось 1 раз(а), последний 2018-04-19 20:28:06 |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Я почему и говорил, что нет необходимости делать отдельные компоненты - весь функционал можно реализовать набором таких мультиэлементов. Интуитивно ощущаю необходимость компонента JSON-парсера, чтобы не городить BlockFind.
|
|||
карма: 26 |
|
Ответов: 233
Рейтинг: 12
|
|||
Netspirit писал(а): Интуитивно ощущаю необходимость компонента JSON-парсера, чтобы не городить BlockFind.
Вот это было бы очень полезно!!!! |
|||
карма: 2 |
|
Ответов: 70
Рейтинг: 1
|
|||
Netspirit писал(а): ......авторизационных данных (типа HMAC, если требуется)И это не менее полезно в частности HMAC-SHA512 |
|||
карма: 1 |
|
13