Google calendar api 开发人员控制台上的Google日历Api错误请求400事件
我已经创建了这个项目,并使用 (我选择了“其他”应用程序类型)。 然后我得到了已安装应用程序的“客户端ID” 然后我转到控制台创建事件,并使用oauth 2进行授权。 一切都很顺利Google calendar api 开发人员控制台上的Google日历Api错误请求400事件,google-calendar-api,google-oauth,Google Calendar Api,Google Oauth,我已经创建了这个项目,并使用 (我选择了“其他”应用程序类型)。 然后我得到了已安装应用程序的“客户端ID” 然后我转到控制台创建事件,并使用oauth 2进行授权。 一切都很顺利 POST https://www.googleapis.com/calendar/v3/calendars/primary/events?key={YOUR_API_KEY} Content-Type: application/json Authorization: xxx X-JavaScript-U
POST https://www.googleapis.com/calendar/v3/calendars/primary/events?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: xxx
X-JavaScript-User-Agent: Google APIs Explorer
{
"end": {
"dateTime": "2013-1-16T10:00:00.000-07:00"
},
"start": {
"dateTime": "2013-1-16T10:00:00.000-07:00"
}
}
回应
200 OK
- Show headers -
{
"kind": "calendar#event",
"etag": "\"WANTVF5ixxZ04U_VtQ0AZ3MbAlM/Z2NhbDAwMDAxMzY1NjU0MzAwNTk1MDAw\"",
"id": "2nsuis19mkp2q0uef54tl5nk68",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=Mm5zdWlzMTlta3AycTB1ZWY1NHRsNW5rNjggaXZhbjEzMzEzM0Bt",
"created": "2013-04-11T04:25:00.000Z",
"updated": "2013-04-11T04:25:00.595Z",
"creator": {
"email": "ivan133133@gmail.com",
"displayName": "ivan rozhcov",
"self": true
},
"organizer": {
"email": "ivan133133@gmail.com",
"self": true
},
"start": {
"dateTime": "2013-01-16T21:00:00+04:00"
},
"end": {
"dateTime": "2013-01-16T21:00:00+04:00"
},
"iCalUID": "2nsuis19mkp2q0uef54tl5nk68@google.com",
"sequence": 0,
"reminders": {
"useDefault": true
}
}
然后我复制了id并更新了此事件。
更新
我第一次收到200条回复
PUT https://www.googleapis.com/calendar/v3/calendars/primary/events/2nsuis19mkp2q0uef54tl5nk68?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: Bearer ya29.AHES6ZRmo6pdxj8pY4NmzdI1estRNB-v87XV7xQHgyhrWHk2rzs3Ke8
X-JavaScript-User-Agent: Google APIs Explorer
{
"end": {
"dateTime": "2013-1-16T10:00:00.000-07:00"
},
"start": {
"dateTime": "2013-1-16T10:00:00.000-07:00"
}
}
但当我再次尝试时,我总是得到400个错误,错误文本写在下面
更新
谁能解释一下,如果这是google.api错误,或者我错在哪里了
我在不同的帐户和PC上试用过(通过谷歌API浏览器和python库,结果相同)
今天我试着复制这个bug。但是everring现在可以正常工作了。
我在谷歌代码中创建了一个问题
仍然没有回答
我想是暂时性的 我使用了补丁而不是更新,现在它可以正常工作了。但我真的不明白为什么第一次更新成功,第二次和其他时间都失败了。完全神秘。400几乎总是意味着您的认证URL中存在一个简单的语法错误。最常见的原因是,您未能通过URL转义您的作用域或重定向,或者URL多次转义。在使用Google API Client Library for Javascript访问Google Calendar API时发现了完全相同的问题。如果我尝试更新日历事件的开始日期,就会发生这种情况。更新结束数据没有问题。真奇怪 幸运的是,我也用补丁替换了更新,从而解决了这个问题。检查以下内容: 这是: 当您更改事件的日期/时间时,序列号需要增加,这就是您收到400错误请求的原因 这就是我如何使用java客户端库解决它的 mGoogleCalendarEvent包含有关事件的更新信息。首先,从GoogleCalendar获取此事件的序列号:
mGoogleCalendarEvent.setSequence(mService.events().get(mCalendarId,mGoogleCalendarEvent.getId()).execute().getSequence());
然后执行更新:
mService.events().update(mCalendarId, mGoogleCalendarEvent.getId(),mGoogleCalendarEvent).execute();
我使用Google API浏览器,因此无法控制URL转义。嗨,David,node JS的Google API客户端库处理速度太慢,有时我会在2分钟后收到响应,有时会在2毫秒内收到响应。我正在使用日历API获取和创建事件。你面临什么问题吗?或者为什么要猜测?
mService.events().update(mCalendarId, mGoogleCalendarEvent.getId(),mGoogleCalendarEvent).execute();