【问题标题】:Failing to recieve Activities data from youtube data api?无法从 youtube 数据 api 接收活动数据?
【发布时间】:2019-06-09 18:54:45
【问题描述】:

我尝试构建一个应用程序,该应用程序每 x 秒发出一次 youtube-api 活动列表请求,以查找某些频道上发生的新事物。 代码运行良好,但有些渠道没有给我关于活动的回复。该请求将正常工作并且没有错误,但没有数据。

希望你知道我的意思,并且有人可以为我提供解决方案。

在这里也试过:https://developers.google.com/youtube/v3/docs/activities/list

但同样的问题 - 请求成功,但里面没有物品。

【问题讨论】:

  • 你能分享一个返回空活动数据的频道ID吗?
  • 这里的 id 之一:UCJgcqQq2WyJf35ovKj8fFeQ
  • 是的,我还收到了 200 个成功的请求代码,但 JSON 响应中的项目为零。您是否正在寻找特定的新事物,例如简单的新上传或其他活动?可能还有其他 API 方法来获取数据。
  • 我正在寻找新的上传内容以生成一个自动 webhook 帖子以发表不和谐。带有活动和 publishedAfter 过滤器的 api 请求是一个很好且快速的解决方案(如果有效)

标签: youtube-api youtube-data-api


【解决方案1】:

我也无法使用Activities:List API 请求获取该频道 ID 的新上传信息。但是,我能够使用不同的 API 请求(实际上是两个系列)并成功获取 50 个最近上传的内容。

如果您只需要上传,正如您的评论所暗示的,这可能是一个解决方案。它使用Channels:ListPlaylistItems:List API 请求,每个配额成本为一个单位:

首先,Channels:List 调用检索上传的播放列表 ID: 获取播放列表 ID:

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": {

“上传”:“UUJgcqQq2WyJf35ovKj8fFeQ”,

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

使用上述响应中的 uploads 播放列表 ID,进行 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、视频 ID 和下一页令牌(如果您想获得 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.

【讨论】:

  • 感谢您的快速帮助!看起来上传代码与频道代码几乎相同,所以我认为它一直都是相同的,我可以保存它以定期检查并通过使用 maxResult 限制请求并通过查看 publishedAt 来检查新的我会做它运行。
  • 是的,默认情况下如果order=date,第一项是最新的视频。如果你只做 1 个最大结果,你只会得到最近的 1 个视频。 (这是在第二个 API 请求中)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-11
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多