youtube api 3.0获取单个视频的信息

时间:2013-07-11 20:05:45

标签: php video youtube-api

我正在尝试使用Youtube api 3.0获取单个视频的数据,但我无法弄清楚如何操作。

我设法让这个示例很容易实现:https://developers.google.com/youtube/v3/code_samples/php

并稍微自定义。

但现在我正在尝试获取具有特定ID的单个视频的信息。

我在这里尝试

$data = $youtube->videos->list("snippet");

这总是给我这个错误

  

无法在第95行的{SERVER_PATH} /Google_ServiceResource.php中取消设置字符串偏移

如果有人可以提供帮助,我会非常感激。

4 个答案:

答案 0 :(得分:10)

无法提供确切的PHP代码,但网址是这样的

String url = "https://www.googleapis.com/youtube/v3/videos?id="+videoID+"&key=" + YOUR KEY HERE + "&fields=items(id,snippet(channelId,title,categoryId),statistics)&part=snippet,statistics";

你得到一个你解析的JSON对象:)

答案 1 :(得分:1)

我不知道你是否已经想出来 - 因为它已经有一段时间了,但我相信你是在呼唤一个不存在的功能。我认为应该是:

$data = $youtube->videos->listVideos("snippet");

答案 2 :(得分:0)

使用AngularJS

app.controller('oneVideoCtrl', function($scope, $http, $stateParams, $location){

$scope.videos = [];
$scope.youtubeParams = {
    key: 'YOUR-API-KEY-HERE',
    type: 'video',
    kind: 'youtube#video',
    maxResults: '1',
    part: 'id,snippet',
    order: 'viewCount',
    channelId: 'YOUR-CHANNEL-ID-HERE',
    playlistId: 'YOUR-PLAYLIST-ID-HERE',
}

// Get single specific YouTube video
$http.get('https://www.googleapis.com/youtube/v3/videos?id=VIDEO-ID-HERE', {params:$scope.youtubeParams}).success(function(response){
    angular.forEach(response.items, function(child){
        console.log (child);
        $scope.videos.push(child);
    });
  });
});

答案 3 :(得分:-2)

使用Youtube API v3的确切请求:

https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID_HERE&fields=items(snippet(title))&part=snippet&key=API_KEY_HERE

你会得到这个:

{
 "items": [
  {
   "snippet": {
    "title": "VIDEO_TITLE_HERE"
   }
  }
 ]
}