2012-02-26 22 views
8

Tôi đang cố gắng tạo lịch qua API javascript của Google. xác thực OAuth đang làm việc tốt: Tôi có thể có được một danh sách các lịch sử dụng:Lịch Google.Insert API trả về 400 'bắt buộc'

gapi.client.calendar.calendarList.list(); 

Tuy nhiên, khi tôi cố gắng để tạo ra một lịch với:

gapi.client.calendar.calendars.insert(
{ 
    "summary": "A New Calendar", 
    "description": "Generated by Ben", 
    "timezone" : "Australia/Sydney" 
}); 

tôi nhận được:

{ 
    "error": { 
    "code": 400, 
    "message": "Required", 
    "data": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Required" 
    } 
    ] 
}, 
"id": "gapiRpc" 
} 

Trong doco for other APIs nó hiển thị phản hồi này, nhưng với danh sách các đối số bắt buộc bị thiếu.

Có cách nào để xác định tham số 'yêu cầu' nào tôi đang thiếu không? Tôi đã thử nghiệm nó với các API Explorer và các thông số của tôi xuất hiện để làm việc tốt.

Trả lời

21

Cuối cùng đã tìm ra điều này. Các thuộc tính cần phải được trong một 'tài nguyên' đối tượng:

gapi.client.calendar.calendars.insert(
{ 
    "resource" : 
    {"summary": "A New Calendar", 
    "description": "Generated by Ben", 
    "timezone" : "Australia/Sydney"} 
}); 

các doco không đề cập đến điều này, nhưng nếu bạn nhìn vào phản ứng với các cuộc gọi ban đầu để gapi.auth.authorize bạn sẽ tìm thấy JSON mô tả toàn bộ API cho phạm vi bạn đã chỉ định.

+2

+1 thực sự hữu ích! – joevallender

+1

cảm ơn rất nhiều .. thực sự đã giúp tôi .. không tìm thấy bất kỳ tài liệu cho cùng một .. –

+1

HUGE thời gian tiết kiệm từ này, cảm ơn rất nhiều! – Ben

Các vấn đề liên quan