我正在使用Google Calendar API,我正在尝试向API发送请求以插入事件,但我收到了错误。
这是我发送的请求:
POST https://www.googleapis.com/calendar/v3/calendars/riteshmehandiratta%40gmail.com/events?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: Bearer ya29.AHES6ZQwHy_3OYLmXtZpSa5PIwnBO3hqLWolMXpTYiFOEtjlEmbxNrYn
X-JavaScript-User-Agent: Google APIs Explorer
{
"end": {
"date": "2/14/2007"
},
"start": {
"date": "2/14/2007"
},
"kind": "calendar#event",
"summary": "Hello World"
}
我得到的回应是:
400 Bad Request
- Hide headers -
cache-control: private, max-age=0
content-encoding: gzip
content-length: 122
content-type: application/json; charset=UTF-8
date: Sat, 23 Mar 2013 17:36:22 GMT
expires: Sat, 23 Mar 2013 17:36:22 GMT
server: GSE
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
我无法弄清楚为什么我收到错误的请求错误。
答案 0 :(得分:3)
从我可以告诉你的日期格式错误,API文档表明:
The date, in the format "yyyy-mm-dd", if this is an all-day event.
您可能需要使用本页底部的“试用”表单,首先确保您的请求有效:
https://developers.google.com/google-apps/calendar/v3/reference/events/insert#try-it
祝你好运!答案 1 :(得分:0)
这就是我所做的(PHP):
//Passed in a GET variable name of 'date'
//Tells parser the current format
$dt = DateTime::createFromFormat("d/m/Y", $_GET['date']);
//Adding the event start date, modifying the format to suit googles encoding
$start->setDate($df->format("Y-m-d"));
上面的脚本片段对我有用。
Rohan对于他们的格式化条件是正确的。