Google api Guzzle和google日历api

Google api Guzzle和google日历api,google-api,google-calendar-api,guzzle,bad-request,Google Api,Google Calendar Api,Guzzle,Bad Request,我已尝试发送请求,以便在所选日历中创建事件。 但我有一个错误: Client error response [url] https://www.googleapis.com/calendar/v3/calendars/caledar_id/events?key=ya29.UAFgEsvgZ34RYc9CJS92FVyT6uUz68-xm8gMhIk0hShHp4esU29eRjWWd0wU-8uyzEEQNwXNdmQ [status code] 400 [reason phrase] Bad

我已尝试发送请求,以便在所选日历中创建事件。 但我有一个错误:

Client error response [url] https://www.googleapis.com/calendar/v3/calendars/caledar_id/events?key=ya29.UAFgEsvgZ34RYc9CJS92FVyT6uUz68-xm8gMhIk0hShHp4esU29eRjWWd0wU-8uyzEEQNwXNdmQ [status code] 400 [reason phrase] Bad Request
我使用了guzzle api。下面是我的代码示例:

$url = 'https://www.googleapis.com/calendar/v3/calendars/'. $calendar_id .'/events';
$client = new GuzzleHttp\Client();
$data = json_encode(array(
    "end" => array("date" => "2015-04-12"),
    "start" => array("date" => "2015-04-09"),
    "summary" => "testnah"
));
$response = $request = $client->post($url, [
    'body' => $data,
    'query' => [
        'key' => $token
    ],
    'headers' => ['Authorization' => $token_type . ' ' . $token]
]);
var_dump($response);

非常感谢

我尝试在查询中不包含键,并打开调试模式。 调试日志:

即将连接到www.googleapis.com端口443 0*正在尝试173.194.71.95…*0x32b54f0位于发送管头!*状态:CONNECT=>WAITCONNECT句柄0x32c8700;连接0*连接到www.googleapis.com 173.194.71.95端口443 0*连接到www.googleapis.com 173.194.71.95端口443 0*成功设置证书验证位置:*CAfile:none-CApath:/etc/ssl/certs*状态:WAITCONNECT=>PROTOCONNECT句柄0x32c8700;连接0*使用ECDHE-RSA-AES128-GCM-SHA256*服务器证书的SSL连接:*主题:C=US;ST=加利福尼亚州;L=山景;O=谷歌公司;CN=*.storage.googleapis.com*开始日期:2015-03-25 14:50:25 GMT*到期日期:2015-06-23 00:00:00 GMT*主题名称:www.googleapis.com匹配*发行人:C=US;O=谷歌公司;CN=谷歌互联网授权G2*SSL证书验证正常。*状态:PROTOCONNECT=>DoHandle 0x32c8700;连接0>发布/日历/v3/日历/urazod@gmail.com/事件HTTP/1.1主机:www.googleapis.com授权:载体ya29.VQG9gHzGq7tfB14CtyOgYK_N5gYS-xa9andhi0fzoeovzbj6hwwtneunwuj-5uLvXScbq8PUjs7A用户代理:Guzzle/5.2.0curl/7.26.0php/5.4.39-0+deb7u2内容长度:79*上传完全发送:79个字节中的79个*状态:DO=>DO_DONE句柄0x32c8700;连接0*状态:DO_DONE=>WAITPERFORM句柄0x32c8700;连接0*状态:WAITPERFORM=>执行句柄0x32c8700;连接0*其他内容未进行精细传输。c:1037:0 0*HTTP 1.1或更高版本,具有持久连接,支持流水线DONE handle 0x32c8700;连接0*
您正在更改日历id,对吗?主要而不是日历id?是的,我只是在问题中隐藏了我的真实日历id。在向events.list发送请求时,您是否包括了httpMethod'=>“GET”?启用调试选项时您得到了什么?这将使您能够将您的请求与Google期望的内容进行比较。您可能不希望将它们包含在密钥查询和授权标题中。这可能会混淆API。