Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php youtube api 3.0获取单个视频的信息_Php_Video_Youtube Api - Fatal编程技术网

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

Php youtube api 3.0获取单个视频的信息,php,video,youtube-api,Php,Video,Youtube Api,我试图用Youtube api 3.0获取一个视频的数据,但我不知道该怎么做 我成功地使这个示例非常容易地工作: 并定制一点 但现在我正试图获得一个特定Id的视频信息 这是我想要的 $data = $youtube->videos->list("snippet"); 这总是给我这个错误 无法在第95行的{SERVER\u PATH}/Google\u ServiceResource.php中取消设置字符串偏移量 如果有人能帮助我,我将不胜感激。我不知道您是否已经解决了这个问题-因为

我试图用Youtube api 3.0获取一个视频的数据,但我不知道该怎么做

我成功地使这个示例非常容易地工作:

并定制一点

但现在我正试图获得一个特定Id的视频信息

这是我想要的

$data = $youtube->videos->list("snippet");
这总是给我这个错误

无法在第95行的{SERVER\u PATH}/Google\u ServiceResource.php中取消设置字符串偏移量


如果有人能帮助我,我将不胜感激。

我不知道您是否已经解决了这个问题-因为已经有一段时间了,但我相信您正在调用一个不存在的函数。我认为应该是:

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

无法提供准确的php代码,但url是这样的

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对象:)

使用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"
   }
  }
 ]
}
使用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);
    });
  });
});

只是有一点额外的帮助:$getSnippet=$youtube->videos->listVideos(“snippet”,数组('id'=>$youTubeId));你的答案与@OWADVL在2014年给出的答案有什么不同(除了格式不同之外?)在他的答案中,你会得到无用的额外信息。我怎样才能找到视频的所有者