【问题标题】:Youtube API v3, topicId and freebaseYoutube API v3、topicId 和 freebase
【发布时间】:2012-11-01 12:49:05
【问题描述】:

所以我试图从 youtube 中提取特定视频游戏的视频。这我工作得几乎很好,但是在查询视频游戏标题时,一些(主要是与体育特许经营权、电影等共享名称的游戏)返回了与视频游戏无关的结果。

我查看了文档 here 并找到了 topicId 过滤器,但是我很难使用它。

如果我尝试在其中放入一些东西,它会返回:

$searchResponse = $youtube->search->list(array(
  'q' => $_GET['q'],
  'maxResults' => $_GET['maxResults'],
  'part' => 'id',
  'order' => 'relevance',
  'type' => 'video',
  'topicId' => '/m/0d6lp'
));

(列表)未知参数:'topicId'

在使用 freebase API 返回我需要的主题时也遇到了问题。

我只想用以下内容过滤视频:

那么,我有什么想法可以将 youtube 搜索限制为仅使用搜索 api 的视频游戏吗?

【问题讨论】:

    标签: php youtube-api


    【解决方案1】:

    这个例子看起来有点不对劲。 PHP 客户端的版本可能不会针对 YouTube 版本进行更新,但会检查代码。前往https://code.google.com/p/google-api-php-client/ 并查看源代码以获取最新版本,之后此代码应该可以正常工作。

    $searchResponse = $youtube->search->listSearch('id', array(
      'q' => $_GET['q'],
      'maxResults' => $_GET['maxResults'],
      'order' => 'relevance',
      'type' => 'video',
      'topicId' => '/m/0d6lp'
    ));
    

    调用listSearch 而不是list,并将part 作为第一个参数而不是放在数组中。

    【讨论】:

    • 我想我有点过于复杂了,不需要freebase,我可以在搜索/列表返回的id上做一个视频/列表,并将categoryId过滤为20,这是游戏。无论如何感谢您的回答
    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 2016-11-05
    • 2014-05-11
    相关资源
    最近更新 更多