获取 Youtube LiveChatMessages 列表的 Guzzle 请求

Guzzle request for getting Youtube LiveChatMessages list

我正在使用 Youtube 数据 API 并尝试获取聊天消息,为此我必须提供 lifeChatIdpart 参数

我的代码

    $guzzle_client = new Client();
    $res = $guzzle_client->request('GET', 'https://www.googleapis.com/youtube/v3/liveChat/messages',
        [
           'liveChatId' => $broadcastsResponse['modelData']['snippet']['liveChatId'],
           'part' => 'id,snippet'
        ]
    );

我遇到错误

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: liveChatId",
    "locationType": "parameter",
    "location": "liveChatId"
   },
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter: part",
    "locationType": "parameter",
    "location": "part"
   }
  ],
  "code": 400,
  "message": "Required parameter: liveChatId"
 }
}

但我确定我提供了两个必需的参数。 这个 var_dump 写在 guzzle 请求

之前
var_dump([
    'liveChatId' => $broadcastsResponse['modelData']['snippet']['liveChatId'],
    'part' => 'id,snippet'
]);)

returns

array(2) {
  ["liveChatId"]=>
  string(20) "Cg0KC2hRYmU3akNyaXBV"
  ["part"]=>
  string(10) "id,snippet"
}

知道为什么我会收到这样的错误吗?

尝试使用 query 请求选项将它们作为查询字符串参数传递。

$guzzle_client = new Client();
$liveChatId = $broadcastsResponse['modelData']['snippet']['liveChatId'];

$res = $guzzle_client->request('GET', 'https://www.googleapis.com/youtube/v3/liveChat/messages', [
    'query' => ['liveChatId' => $liveChatId, 'part' => 'id,snippet']
]);