Не удается получить данные о деятельности из API данных YouTube? - PullRequest
0 голосов
/ 09 июня 2019

Я пытался создать приложение, которое каждые x секунд будет запрашивать список действий youtube-api для поиска новых событий, происходящих на некоторых каналах.Код работает нормально, но некоторые каналы не дают мне ответа об активности.Запрос будет работать нормально и не даст ошибок, но данных нет.

Надеюсь, вы понимаете, о чем я, и у кого-то есть решение для меня.

Попробовал и здесь: https://developers.google.com/youtube/v3/docs/activities/list

но та же проблема - запрос выполнен успешно, но элементов нетвнутри.

1 Ответ

0 голосов
/ 10 июня 2019

Мне также не удалось получить новую информацию о загрузках для этого идентификатора канала, используя запрос API Activities:List. Тем не менее, я смог использовать другой запрос API (фактически серию из двух) и успешно получить 50 последних загрузок.

Если вам нужны только загрузки, как подсказывает ваш комментарий, это может быть решением. Он использует Каналы: список и PlaylistItems: список запросов API, по цене квоты в одну единицу каждый:

Во-первых, вызов Channels: List возвращает идентификатор загруженного плейлиста: получить идентификатор плейлиста:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UCJgcqQq2WyJf35ovKj8fFeQ&maxResults=10&fields=items&order=date&key=YOUR_API_KEY

Ответ от Youtube содержит код JSON:

{
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/JLM6UA_xPnpiDQtL6ILexatJ0sc\"",
   "id": "UCJgcqQq2WyJf35ovKj8fFeQ",
   "contentDetails": {
    "relatedPlaylists": {

"uploads": "UUJgcqQq2WyJf35ovKj8fFeQ",

     "watchHistory": "HL",
     "watchLater": "WL"
    }
   }
  }
 ]

Используя загрузку идентификатора плейлиста из вышеприведенного ответа, выполните вызов PlaylistItems: List. Max-results устанавливает до 50 последних предметов:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&fields=nextPageToken,items(snippet(publishedAt,title,description,thumbnails(default(url)),resourceId(videoId)))&playlistId=UUJgcqQq2WyJf35ovKj8fFeQ&maxResults=50&order=date&key=YOUR_API_KEY

Ответ содержит 50 самых последних видео, отсортированных по дате. Включая дату публикации, заголовок, описание, URL-адрес миниатюрного изображения, идентификатор видео и токен следующей страницы (используется, если вы хотите получить еще 50 элементов):

{
 "nextPageToken": "CDIQAA",
 "items": [
  {
   "snippet": {
    "publishedAt": "2019-06-07T18:30:01.000Z",
    "title": "BATMAN a Telltale Story | Folge 22 [Deutsch LP]",
    "description": "! Willkommen Freund von #GamingausLeidenschaft !\n\nFolge 22 zeigt wer der wahre maskierte Rächer Gothams ist.\n\n!!Viel Spass!!\n****************************** \nDir gefällt was ich mache? \nDann lass es am besten alle wissen und schlag doch \netwas den Subscribe/Abobutton der braucht Nähe ;)\nDu warst nicht Zufrieden?\nDann lass dir freien Lauf das in den Kommentaren zu erwähnen :)\nJede Form von Feedback sehe ich als Support!\n******************************\nTweet me: twitter@brille591 \n******************************\nDiscord Server : https://discord.gg/eRwmFM\n******************************\nFalls du möchtest kannst du mir unter diesem Link:\n\nhttps://streamlabs.com/Skarkerino\n\nein kleines Trinkgeld zukommen lassen \n(alles wird in Equipment und Qualitätsverbesserung gesteckt) \nAktuelles Ziel: RAM\n******************************\nÜBER DIESES SPIEL\nBatman: The Telltale Series ist ein am 2. August 2016 veröffentlichtes Computerspiel des Entwicklers Telltale Games. \nDatum der Erstveröffentlichung: 2. August 2016\n-\nSpiel-Engine: Telltale Tool\nSprache: Englisch (Audio), Deutsch (Untertitel)\nHerausgeber: Telltale Games\nPlattformen: PlayStation 4, Android, Nintendo Switch, Xbox One, PlayStation 3, Xbox 360, Microsoft Windows, iOS\nDesigner: Mark Darin, Michael Kirkbride\n\n#BATMAN\n#Telltale\n#Brille591\n#Optiksquad\n#Deutsch\n#LP\n#DC\n#WB",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/ZZSDYaW0nxw/default.jpg"
     }
    },
    "resourceId": {
     "videoId": "ZZSDYaW0nxw"
    }
   }
  }, ... etc.
...