【问题标题】:Get likes/dislikes from a youtube video with Zend Framework PHP使用 Zend Framework PHP 从 youtube 视频中获取喜欢/不喜欢
【发布时间】:2012-06-05 22:00:59
【问题描述】:

我找不到任何文档,我可以在其中找到用于接收视频的喜欢和不喜欢的代码示例。 这是我当前的代码:

$videoId = 'AyJl2NyQ0hI';
$videoEntry = $yt->getVideoEntry($videoId);

echo "Views: <strong>".$videoEntry->getVideoViewCount()."</strong><br />";

它工作正常,但谁得到喜欢/不喜欢? 谢谢。

【问题讨论】:

    标签: api zend-framework youtube


    【解决方案1】:

    只需查看 Zend_Gdata_YouTube_VideoEntryZend_Gdata_YouTube_Extension_Statistics 类的源代码:

    $videoEntry->getStatistics()->getViewCount();
    

    编辑:您编辑了您的问题,您现在正在寻找喜欢/不喜欢的人

    第 1 步:将协议版本更改为 v2

    $yt = new Zend_Gdata_YouTube();
    $yt->setMajorProtocolVersion(2);
    

    第 2 步:zend gdata youtube 客户端的最后一个稳定版本缺少访问喜欢和不喜欢的方法,但返回了数据。您可以通过查看 Rating 扩展的扩展属性来了解它:

    $videoId = 'AyJl2NyQ0hI';
    $videoEntry = $yt->getVideoEntry($videoId);
    
    foreach ($videoEntry->getExtensionElements() as $extension)
    {
        if ($extension->rootElement == 'rating')
        {
            $attributes = $extension->getExtensionAttributes();
            var_dump($attributes);
        }
    }
    

    应该返回:

    array(2) {
      ["numDislikes"]=>
      array(3) {
        ["namespaceUri"]=>
        NULL
        ["name"]=>
        string(11) "numDislikes"
        ["value"]=>
        string(2) "57"
      }
      ["numLikes"]=>
      array(3) {
        ["namespaceUri"]=>
        NULL
        ["name"]=>
        string(8) "numLikes"
        ["value"]=>
        string(3) "657"
      }
    }
    

    【讨论】:

    • 我要补充一点,如果 OP 切换到自动完成的 IDE,即使不检查文档,这些东西也可能很清楚。
    • 仍然没有办法得到喜欢/不喜欢。我只能获取旧评级(1-5 星)。
    • 更新了我的答案。如果你想通过一种方法直接获得这些,你将不得不破解 zf trunk。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2012-01-14
    • 2019-10-28
    • 2020-10-13
    • 2020-10-07
    • 1970-01-01
    相关资源
    最近更新 更多