Скрипт Youtube перестал работать над порядком поиска - PullRequest
1 голос
/ 24 марта 2019

Каждую ночь в полночь по канадскому времени Оттавы я загружаю видео на свой канал на YouTube с помощью сценария.

Через час или позже я использую сценарий для получения идентификатора видео последнего загруженного видео, и он создает файл iframe для загрузки на мой веб-сервер. Это перестало работать через несколько лет

Поскольку я не программист, и это было так давно, что я настроил это, я не знаю, с чего начать. Я посмотрел на веб-страницу API YouTube и консоль, но ничего не смог найти. Я знаю, что запуск сценария не возвращает «видеоид», как это было в течение последних нескольких лет.

'''
url="https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=UCOUnH8qVLmUe_2mmupWzEmQ&maxResults=1&key=DEVELOPERS KEY"

lastVideoId=$(curl -s "$url" | grep videoId | awk -F'[""]' '{print $4}')

'''

В результате получится, что последний видеоид сохраняется как переменная $ lastVideoId

1 Ответ

1 голос
/ 24 марта 2019

Вот одно решение без googleapis и без необходимости apikey.Он использовал RSS-канал вашего канала и возвращает первый найденный видеоид.

# Define RSS feed for your channel
URL="https://www.youtube.com/feeds/videos.xml?channel_id=UCOUnH8qVLmUe_2mmupWzEmQ"
videoid=$(curl -s $URL | grep "/watch?v=" | head -1 | sed "s/.*\?v=\([^\"]*\)\".*/\1/g")
echo $videoid

объяснение:

curl -s $URL         # get rss feed (curl in silent mode)
|                    # pipe output to...
grep "/watch?v="     # get only video urls
|                    # pipe output to...
head -1              # take first line with url
|                    # pipe output to...
sed "s/              # sed in substitution mode
\?v=                 # search '?v=' in url
\([^\"]*\)\"         # put everything up to next " in arg1 (\1)
.*                   # ignore rest of the line
/\1                  # print only arg1 
/g                   # global on the whole line
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...