8

我正在尝试使用 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

4 回答 4

11

不能给你确切的 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 对象:)

于 2014-03-24T15:11:46.397 回答
1

I don't know if you've figured it out yet - since it has been awhile, but i believe you are calling a non-existing function. I think it should be:

$data = $youtube->videos->listVideos("snippet");
于 2013-11-02T03:34:42.780 回答
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);
    });
  });
});
于 2016-12-25T11:53:51.463 回答
-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"
   }
  }
 ]
}
于 2016-08-13T12:41:37.777 回答