【问题标题】:How do I fetch all of a users subscriptions using the php Youtube Api?如何使用 php Youtube Api 获取所有用户订阅?
【发布时间】:2014-01-12 13:07:22
【问题描述】:

我现在有点迷路了。我想使用 Youtube Api 来获取所有登录用户的订阅,并将它们显示为列表,但我完全迷失了。我正在考虑使用批处理请求,但我什至不知道如何开始实施它。有什么建议吗?

【问题讨论】:

    标签: php api youtube youtube-api


    【解决方案1】:

    更新 使用Zend Framework - YouTube Data API。它不需要任何身份验证。

    使用

    1) 从http://framework.zend.com/downloads/latest下载Zend Framework 1.12.3 Minimal

    2) 解压zip。将文件夹 Zend 复制到您的项目文件夹(或仅复制 Zend\Gdata)。

    3) 包括到您的index.php(例如)类Zend_Gdata_YouTube

    <?php
       require_once 'Zend/Gdata/YouTube.php';
    
       $username = 'USERNAME'; // set need YouTube user
    
       $yt = new Zend_Gdata_YouTube();
       $subscriptionFeed = $yt->getSubscriptionFeed($username);
    
       foreach ($subscriptionFeed as $subscriptionEntry) {
          echo $subscriptionEntry->title->text . "\n";
       }
    
    ?>
    

    编辑 1

    使用Youtube API。 签到php.ini:

    extension=php_openssl.dll 
    

    比使用:

    $userID = 'YouTubeUsedId';
    $url_api = 'https://gdata.youtube.com/feeds/api/users/'.$userID.'/subscriptions?v=2';
    $subs_content = file_get_contents($url_api);
    

    通过订阅获取xml 后,使用DomDocument(例如)并获取用户列表。根据https://developers.google.com/youtube/2.0/developers_guide_protocol_subscriptions#Retrieving_subscriptions获取标签

    编辑 2(注意)

    默认情况下,YouTube 仅返回来自视频供稿的前 25 行。要进行偏移,请使用下一步:

    $url='https://gdata.youtube.com/feeds/api/users/'.$userID.'/subscriptions?start-index=25
                                                                        &max-results=25
                                                                        &v=2';
    

    start-index 从索引开始定义

    max-results 定义 offest(注意:最大值 = 50)。

    查看更多https://developers.google.com/youtube/2.0/reference?hl=it-IT&csw=1#max-resultssp

    【讨论】:

    • 老实说,如果可能的话,我宁愿使用 Youtube api。我试图弄乱 php api 中的“my_uploads”示例,但我在 api 网站上找不到任何东西来告诉我如何更改它以检索订阅者,而不是上传
    • @looserlf 我更新了答案。但是,我建议您为此下载课程Zend_Gdata_YouTube。它的包装很好。
    • 真的很抱歉给我带来了麻烦,但你的编辑并没有真正让我更清楚。我以前从未使用过zend,我仍然有点困惑。我该如何开始?在执行此操作之前,我是否必须包含文件或引用任何内容?
    • @looserlf 现在看看。我希望,你会明白。很简单。
    • 太棒了!我终于让它工作了,但只是一件小事。当我尝试加载自己的订阅者作为测试时,代码只加载了前 25 个频道,而实际上我的频道远不止这些。有没有办法绕过这个限制,或者这与 YouTube 有关?
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 2023-04-06
    • 2021-09-21
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多