我一直在努力与YouTube很多。
问题是,我已经制作了自己的php curl脚本,该脚本应连接到youtube api并向当前流发送实时聊天消息。
我已经很接近完成这个问题了,但是只有这最后1个部分使我停滞不前。
我当前使用的脚本是:
$data = array("snippet" => ["type" => 'textMessageEvent', 'textMessageDetails' => ['messageText' => '<3']], 'livechatid' => '{{livechatid_here}}');
$data_string = json_encode($data);
$ch = curl_init('https://www.googleapis.com/youtube/v3/liveChat/messages?part=snippet&fields=authorDetails%2Ckind%2Csnippet&key={{Here is my key}}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string),
'Authorization: Bearer {{access_key}} ')
);
$result = curl_exec($ch);
dd($result);
但即时通讯不断收到以下错误:
"code": 400,
"message": "snippet.live_chat_id is required"\n
所以我所做的就是将“livechatid”更改为:
他们都没有工作。
有人知道我该如何解决吗?
当然,我已经从上面的代码中删除了我的密钥和access_tokens。
我也曾尝试将它们添加到标题中,但我仍然一次又一次遇到相同的错误。
有人知道我该如何解决这个问题?
最佳答案
将liveChatId
放入snippet
字段中:
$data = array("snippet" => [
"type" => 'textMessageEvent',
'textMessageDetails' => ['messageText' => '<3'],
'liveChatId' => 'YOUR_LIVE_CHAT_ID'
]);
$data_string = json_encode($data);