2012-02-26 19 views
8

Sto provando a creare un calendario tramite l'API javascript di Google. l'autenticazione OAuth sta lavorando bene: io sono in grado di ottenere un elenco di calendari utilizzando:Google Calendar.Insert API che restituisce 400 "required"

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

Tuttavia, quando cerco di creare un calendario con:

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

ottengo:

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

In doco for other APIs mostra questa risposta, ma con un elenco degli argomenti richiesti che mancano.

C'è un modo per determinare quale parametro 'richiesto' mi manca? L'ho provato con lo API Explorer e i miei parametri sembrano funzionare correttamente.

risposta

21

Finalmente capito. Le proprietà devono essere in un 'risorsa' oggetto:

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

Il doco non menziona questo, ma se si guarda la risposta alla chiamata iniziale a gapi.auth.authorize troverete JSON che descrive l'intera API per l'ambito che hai specificato.

+2

+1 davvero utile! – joevallender

+1

grazie mille .. mi ha davvero aiutato ... non ho trovato alcuna documentazione per lo stesso .. –

+1

ENORME tempo risparmiato da questo, molte grazie! – Ben

Problemi correlati