2016-01-27 13 views
5

ho seguito tutte le impostazioni necessarie a https://developers.google.com/google-apps/calendar/v3/push (credo) e sto cercando di registrare il mio URL di callback per seguire gli eventi, con questo codice:GoogleAPI NodeJS: calendar.events.watch ottiene push.webhookUrlNotHttps errore o pushWebhookBadDomain

calendar.events.watch({ 

    auth:jwtClient, 
    resource: { 
     id: "yourChannelId", 
     type: 'web_hook', 
     address: "https://api.mysite.com/notifications" 
    }, 
    calendarId: "mycalendarId" 
}, function(error, response) { 
    if (error) { 
     console.log(error); 
     return; 
    } 
    console.log(response); 

}); 

E ottengo l'errore message: 'No valid domain for WebHook callback: https://https://api.mysite.com', reason: 'pushWebhookBadDomain'. Se provo a inserire l'indirizzo come "api.mysite.com/notifications" (sembra che l'https sia duplicato), ricevo l'errore message: 'WebHook callback must be HTTPS: api.mysite.com/notifications', reason: 'push.webhookUrlNotHttps'

Qualcuno può aiutarmi per favore? Grazie

+0

Eri in grado di registrare il tuo dominio nella pagina di verifica del dominio della console sviluppatore prima di creare il canale di notifica? – adjuremods

+0

@adjuremods Sì, registrato nei webmaster con un html nella directory root e quindi aggiunto nei "domini consentiti" del mio servizio di calendario. C'è qualche altro posto per aggiungerlo? – danielapsmaior

+0

Bene, sono tornato su Webmasters Tools e ho visto un errore "" Il certificato SSL/TLS non include il nome di dominio. "Quindi forse è così, lo posterò quando lo aggiusterò – danielapsmaior

risposta

4

Ho capito. Spero possa aiutare qualcuno. Ecco il modo:

on Developers Console, l'URL deve essere senza https ma con il metodo incluso.

on Webmaster Tools, l'URL deve essere con https ma solo il dominio cannonico.

Il mio problema era che su Developers Console ho aggiunto tutte le possibilità (4 domini in totale), ma il servizio utilizza solo il primo, che era sbagliato.

Nella chiamata, era giusto, con https e il metodo:

resource: { 
    id: "yourChannelId", 
    type: 'web_hook', 
    address: "https://api.mysite.com/notifications" 
} 
+0

HI Daniel, il tuo esempio mi ha aiutato per sistemare le cose, ottengo correttamente il canale e avvio il messaggio 'sync', ma dopo non succede nulla. Hai idea di cosa dovrebbe essere? Questa è la mia domanda pubblicata qui: http://stackoverflow.com/questions/35434828/google- api-calendar-watch-doesnt-work-but-configured-well – snaggs

+0

per sicurezza, le modifiche nel calendario avvengono prima della data di scadenza del canale, vero? – danielapsmaior

+0

sì, il mio canale era aggiornato, comunque ha iniziato a funzionare, Non ho idea del perché, sembra un errore tecnico di Google. Grazie comunque, ma il tuo esempio mi ha aiutato molto – snaggs

Problemi correlati