So the following code is no longer working. Can anyone tell me what changed? I rarely work with PHP “disclaimer”
The code is meant to load the embed only when the stream is live.
<?php
$streamChannel = "overwatchleague";  
$json_array = json_decode(file_get_contents("https://api.twitch.tv/kraken/streams.json?channel=$streamChannel"), true);  
if(isset($json_array['streams'][0]['channel'])) {  
echo "<div id='streamonline'><iframe
src="http://player.twitch.tv/?channel= overwatchleague&muted=true"
name="report"
height="100%"
width="100%"
frameborder="0"
scrolling="no"
allowfullscreen="true">
</iframe></div>";  
} else {  
echo "<div id='streamoffline'>Display 0</div>";  
}  
?> 
             
            
               
               
               
            
            
           
          
            
              
                Dist  
                
               
              
                  
                    March 2, 2018, 12:17am
                   
                   
              2 
               
             
            
              
You need to include your client id in API requests, otherwise calling that endpoint will just return {"error":"Bad Request","status":400,"message":"No client id specified"}
             
            
               
               
               
            
            
           
          
            
            
              Like so?
<?php
$streamChannel = "overwatchleague";  
$json_array = json_decode(file_get_contents("https://api.twitch.tv/kraken/streams.json?channel=overwatchleague"), true);  
if(isset($json_array['streams'][0]['channel'])) {  
echo "<div id='streamonline'><iframe
src="http://player.twitch.tv/?channel= overwatchleague&muted=true"
name="report"
height="100%"
width="100%"
frameborder="0"
scrolling="no"
allowfullscreen="true">
</iframe></div>";  
} else {  
echo "<div id='streamoffline'>Display 0</div>";  
}  
?> 
             
            
               
               
               
            
            
           
          
            
              
                Dist  
                
               
              
                  
                    March 2, 2018, 12:35am
                   
                   
              4 
               
             
            
              No, you need to actually register an app with Twitch (as explained in this documentation https://dev.twitch.tv/docs/authentication#registration )
Once you register an app it will provide you with a client id which you can add to the querystring of that API request you’re making, this will allow it to return the stream data you’re after.
             
            
               
               
               
            
            
           
          
            
            
              I just read that as your message alert came through lol. Lets see if it works
             
            
               
               
               
            
            
           
          
            
            
              So now that I have an ID where does it go in this… again this is the first i’ve worked with this.
             
            
               
               
               
            
            
           
          
            
              
                Dist  
                
               
              
                  
                    March 2, 2018, 12:50am
                   
                   
              8 
               
             
            
              You can add &client_id= followed by your client id to the end of the request URL and it should now work (at least the API request anyway, I’m not a PHP guy so can’t vouch for the rest of the code  )
             
            
               
               
               
            
            
           
          
            
            
              Yes that seems to be the problem… as the embed still shows up when the stream is not online
             
            
               
               
               
            
            
           
          
            
            
              
 Dist:
 
&client_id=
 
 
New PHP code still doesn’t work
<?php
function twitch_stream_live() {
$channel = 'overwatchleague';
$client_id = 'load your code';
$url = 'https://api.twitch.tv/kraken/streams/' . $channel . '?client_id=' . $client_id;
$response = wp_remote_get( $url );
	
if ( !is_wp_error( $response ) && $response['response']['code'] === 200 ) {
    $body = json_decode( wp_remote_retrieve_body( $response ) );
if( twitch_stream_live() ){
<iframe
src="http://player.twitch.tv/?channel=dallas&muted=true"
height="720"
width="1280"
frameborder="0"
scrolling="no"
allowfullscreen="true">
</iframe>
} else {
do not load
}
}
return false;
}
 
             
            
               
               
               
            
            
           
          
            
              
                system  
                
                  Closed 
               
              
                  
                    April 1, 2018,  3:54am
                   
                   
              11 
               
             
            
              This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.