【问题标题】:youtube api 3.0 getting the info for a single videoyoutube api 3.0 获取单个视频的信息
【发布时间】:2013-07-10 06:16:55
【问题描述】:

我正在尝试使用 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 中取消设置字符串偏移量

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

【问题讨论】:

    标签: php video youtube-api


    【解决方案1】:

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

    【讨论】:

    • 如何获得视频的所有者
    【解决方案2】:

    我不知道你是否已经弄清楚了——因为它已经有一段时间了,但我相信你正在调用一个不存在的函数。我认为应该是:

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

    【讨论】:

    • 对我有帮助的一点点额外的东西:$getSnippet = $youtube->videos->listVideos("sn-p", array('id' => $youTubeId));
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 您的答案与@OWADVL 在 2014 年给出的答案有何不同(除了格式不同?)
      • 在他的回答中,您会得到无用的附加信息。
      猜你喜欢
      • 2014-11-29
      • 2012-12-14
      • 2013-03-03
      • 2015-04-14
      • 2013-06-02
      • 2013-09-20
      • 2015-08-10
      • 2018-04-26
      • 1970-01-01
      相关资源
      最近更新 更多