我正在使用sdk对you tube api进行查询,以检索有关给定主题的视频列表。

使用提供的示例,我可以将结果输出到控制台,但我希望将其插入到mysql数据库中。我使用的代码是:

$results = $youtube->search->listSearch('id,snippet', array(
  'q' => $term,
  'maxResults' => 50,
  'order' => "date",
  'regionCode' => "GB",
));
$videos = '';
$channels = '';
foreach ($results['items'] as $searchResult) {
    echo $results;
    echo $searchresults;
    $query = "insert into data(VideoId,Title)values "
        . "($searchResult->videoId,"
        . "$searchResult->title)";
    $result = mysql_query($query);
}

但这返回一个错误:



谁能指出我正确的方向?

最佳答案

在库代码中,查看/Service/YouTube.php文件以找出返回数据的类型。

对于您的示例,我在该文件中查找了listSearch方法。它返回一个Google_Service_YouTube_SearchListResponse。寻找该类(在同一文件中),我们可以看到项目类型为Google_Service_YouTube_SearchResult,您应该使用以下命令获取它:

$items = $results->getItems();

要获取ID和标题,您应该执行以下操作:
$videoId = $searchResult->getId()->getVideoId();
$videoTitle = $searchResult->getSnippet()->getTitle();

10-07 20:53