从 YouTube 的视频列表 API 获取视频数据带来错误数据

时间:2020-12-19 04:57:00

标签: reactjs youtube axios youtube-api youtube-data-api

Videos.list API 的参数中,有一个必需参数列表,其中必须选择过滤器参数之一才能获取数据。参数是 chartidmyRating,我不需要任何参数,因为我没有视频 ID 并且无法访问用户评分(我只想获取视频)。 所以我要做的是选择 chart 并将其设置为 mostPopular,如下所示:

class App extends React.Component{
  
  onSubmitForm=async (text)=>{

    const key= {my actual key}
    
    const response = await axios.get( 
      'https://www.googleapis.com/youtube/v3/videos',
      {
        params: {
          part:'snippet',
          maxResults :10,
          type: 'video',
          chart:'mostPopular'
          key,
          q: text, 
        },
      })
 }   

但是,这只会返回 10 个最受欢迎的视频,这些视频没有我在 text 搜索词中放入的任何内容。 所以总而言之,如果我不使用过滤器参数 chartidmyRating 之一,它会抛出一个错误,当我使用 chart 时,它调出与我的搜索查询无关的热门视频。我该如何导航?

1 个答案:

答案 0 :(得分:0)

您必须承认 Videos.list API 端点没有 q 参数。您很可能会将它与另一个 API 端点(q 的请求参数)的请求参数 Search.list 混淆。

因此,您有两个正交选项:使用带有参数 Videos.list 查询的 chart=mostPopular 以及 regionCodevideoCategoryId。或者,根据需要使用带参数 Search.list 查询的 q