【问题标题】:Google youtube API, how do i search for specific keyword?Google youtube API,我如何搜索特定关键字?
【发布时间】:2013-11-21 15:57:21
【问题描述】:

我想搜索关键字相关的 youtube 视频,我正在使用 youtube getdata API。

阅读文档我想出了这个:

http://gdata.youtube.com/feeds/api/videos/-/". urlencode($kwd) ."?orderby=viewCount&max-results=". $max ."&alt=json

但这不是真正的搜索,它给出了带有关键字标记的网址......我想象的 Youtube 内部搜索的工作方式完全不同,因为比较结果根本不匹配。

有什么想法吗?

【问题讨论】:

    标签: youtube youtube-api


    【解决方案1】:

    您提供的网址会搜索该类别中包含您的关键字的任何视频。你想要做的是发送一个查询字符串:

    "https://gdata.youtube.com/feeds/api/videos?q=". urlencode($kwd) ."&orderby=viewCount&max-results=". $max ."&alt=json"
    

    这样,Feed 将直接匹配视频而不是类别。

    在较新的 v3 API 中,您的调用如下所示:

    "https://www.googleapis.com/youtube/v3/search?part=snippet&q=".urlencode($kwd)."&maxResults=".$max."&order=viewCount&key={YOUR_API_KEY}"
    

    【讨论】:

    • 是的,想通了。您能否评论一下使用 v3 有什么好处?返回的 json 数据是否相同或相似,所以我不必重写迭代器?
    • 几个好处:1)它从一开始就是 JSON(无需指定备用序列化),2)它们尽可能地标准化端点和对象模式,所以你没有处理不同提要形式带来的麻烦,以及 3) v3 是它们内部的发展方向,因此最终 v2 将被弃用并消失。话虽如此,json 本身还是有很大不同的,因此重写迭代器需要一些工作。我猜短期工作是为了长期利益!
    【解决方案2】:

    使用数据 API v3,search->list method

    GET https://www.googleapis.com/youtube/v3/search?part=snippet&q=term&key={YOUR_API_KEY}
    

    【讨论】:

    • 它是否适用于 Android API 密钥? (Android 应用受限的密钥)
    【解决方案3】:

    在我看来,我会使用“q”参数,例如搜索“dog”

    var request = gapi.client.youtube.search.list({ 部分:'sn-p', 问:“狗” });

    但我只是一个菜鸟,其他人的答案可能更好。

    【讨论】:

      猜你喜欢
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 2011-10-27
      • 2013-12-03
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多