2017-10-08 4 views
0

J'ai eu du mal avec le youtube beaucoup. Le problème est, j'ai fait mon propre script php curl qui devrait se connecter à l'API youtube et envoyer un message livechat à mon flux actuel.YouTube Api: snippet.live_chat_id est requis

Je suis si près de finir ce problème mais seulement cette dernière partie m'arrête.

Le script i utilise actuellement est:

$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); 

Mais im obtenir en permanence l'erreur suivante:

"code": 400, 
    "message": "snippet.live_chat_id is required"\n 

donc ce que je l'ai été, j'ai changé 'livechatid' à:

  • liveChatId (comme API me le dit)
  • live_Chat_Id
  • livechatid
  • snippet.livechatid
  • snippet.liveChatId
  • snippet.live_chat_id

Et aucun d'entre eux travaillaient. Est-ce que quelqu'un sait comment je peux résoudre ce problème?

Bien sûr, j'ai supprimé mes clés et access_tokens du code ci-dessus.

J'ai également essayé de les ajouter à l'en-tête mais j'ai toujours la même erreur encore et encore.

Est-ce que quelqu'un sait comment je peux résoudre ce problème?

Répondre

0

Mettre liveChatId dans le champ snippet:

$data = array("snippet" => [ 
    "type" => 'textMessageEvent', 
    'textMessageDetails' => ['messageText' => '<3'], 
    'liveChatId' => 'YOUR_LIVE_CHAT_ID' 
]); 
$data_string = json_encode($data);