我正在尝试通过Google javascript API创建日历。OAuth身份验证工作正常:我可以使用获得日历列表
gapi.client.calendar.calendarList.list();
然而,当我尝试用创建日历时
gapi.client.calendar.calendars.insert(
{
"summary": "A New Calendar",
"description": "Generated by Ben",
"timezone" : "Australia/Sydney"
});
我得到:
{
"error": {
"code": 400,
"message": "Required",
"data": [
{
"domain": "global",
"reason": "required",
"message": "Required"
}
]
},
"id": "gapiRpc"
}
在其他API的doco中,它显示了此响应,但缺少所需参数的列表。
有什么方法可以确定我缺少什么"必需"参数吗?我已经用API资源管理器对它进行了测试,我的参数看起来工作正常。
终于明白了这一点。属性需要在"资源"对象中:
gapi.client.calendar.calendars.insert(
{
"resource" :
{"summary": "A New Calendar",
"description": "Generated by Ben",
"timezone" : "Australia/Sydney"}
});
doco没有提到这一点,但如果您查看对gapi.auth.authorize
的初始调用的响应,您会发现JSON描述了您指定的范围的整个API。
但我通常可以根据以下文档使用POST https://www.googleapis.com/calendar/v3/calendars
API创建新日历:
body = {
'summary': 'calendarSummary',
'timeZone': 'America/Los_Angeles'
}