0

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

我查看了此处的文档并找到了 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 将 youtube 搜索限制为视频游戏吗?

4

1 回答 1

2

这个例子看起来有点不对劲。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作为第一个参数而不是放在数组中。

于 2012-11-01T15:09:40.950 回答