Twitch API显示列表的流媒体


Twitch API to Show List of Streamers

所以我在这里要做的是创建一个页面来显示特定用户的列表,并使用api来提取信息来创建链接并将其指向嵌入的iframe。

<?php
/* 
The channels
*/  
$channels = array('everadiolive', 'djyumene', 'mrblades', "themittanidotcom", "daopa") ;
/* 
The part that does stuff
*/
$callAPI = implode(",",$channels);
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$dataArray = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams?channel=' . $callAPI, false), true);
foreach($dataArray['streams'] as $mydata){
    if($mydata['streams'] == null or $mydata['streams'] == ""){
        $name      = $mydata['channel']['display_name'];    
        echo "<a href='http://www.twitch.tv/" .$name. "/embed' target='tbox'><img src='http://streambadge.com/twitch/" .$name. ".png'></a>";
}

?>

这工作,但是有一些问题,我有。它只显示在线的流(我希望它显示第一行指定的所有流)。

我也看到了一个问题,以获得超过3个流显示。在这里,我列出了4个流,第4个流是活跃的(在这篇文章的时候),但是它被忽略了,而第三个流正在运行。

前两个都是脱机的,它应该显示一个脱机的图形,没有任何东西,所以它不显示,除非流脱机。

我以为我有这个正确的,但似乎我在这里错过了一些东西。所以我希望有人能帮帮我。

谢谢!

您可以遍历第一个数组并检查特定通道是否在线,而不是遍历dataArray。检查索引是否存在于dataArray中,如果不存在,则使用离线通道输出一个新的回显。