我正在尝试使用GET请求从实时聊天中获取消息。
$json_result = file_get_contents("https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId=$videoId&part=snippet&key=$api_key");
// $videoId и $api_key true, there are no errors.
echo '<pre>';
var_dump(json_decode($json_result));
echo '</pre>';
答案是NULL,告诉我是什么错误,或者我可以从YouTube广播聊天中获取消息的方法是什么?
答案 0 :(得分:0)
也许对某人有用,通过cURL
而不是file_get_contents
解决了这个问题。
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,"https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId=$LiveChatId&part=snippet%2CauthorDetails&maxResults=200&key=$api_key");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'JeezLand API');
$json_results = curl_exec($curl_handle);
curl_close($curl_handle);
$json_decode_results = json_decode($json_results);
foreach($json_decode_results as $json_decode_result){
foreach($json_decode_result as $result){
/* echo '<pre>';
var_dump($result);
echo '</pre>'; */
echo $result->authorDetails->displayName.' -> '.$result->snippet->displayMessage.'<br />';
}
}
特别感谢Gert de Pagter为解决问题提供的帮助。