我正在使用sdk对youtube 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);
}
但是返回一个错误:
谁能给我指个正确的方向?"PHP可捕获致命错误:类Google_Service_YouTube_SearchListResponse的对象无法转换为字符串".
在库代码中,查看/Service/YouTube.php
文件以找出返回的数据类型。
对于您的示例,我在该文件中查找方法listSearch
。它返回一个Google_Service_YouTube_SearchListResponse
。查找该类(在同一文件中),我们可以看到项目类型是Google_Service_YouTube_SearchResult
,您应该使用以下命令获取它:
$items = $results->getItems();
要获取ID和标题,你应该这样做:
$videoId = $searchResult->getId()->getVideoId();
$videoTitle = $searchResult->getSnippet()->getTitle();