2016-01-27 1 views
5

j'ai suivi toutes les configurations requises https://developers.google.com/google-apps/calendar/v3/push (je crois) et je suis en train d'enregistrer mon URL de rappel pour regarder des événements, avec ce code:GoogleAPI NodeJS: calendar.events.watch obtient push.webhookUrlNotHttps d'erreur ou 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); 

}); 

Et j'obtiens l'erreur message: 'No valid domain for WebHook callback: https://https://api.mysite.com', reason: 'pushWebhookBadDomain'. Si j'essaie de mettre l'adresse comme juste "api.mysite.com/notifications" (comme il semble que le https se duplique), alors j'obtiens l'erreur message: 'WebHook callback must be HTTPS: api.mysite.com/notifications', reason: 'push.webhookUrlNotHttps'

Quelqu'un peut-il m'aider s'il vous plaît? Merci

+0

Avez-vous pu enregistrer votre domaine dans la page de vérification du domaine de la console développeur avant de créer le canal de notification? – adjuremods

+0

@adjuremods Oui, enregistré dans Webmasters avec un html dans le répertoire racine, puis ajouté dans les "domaines autorisés" de mon service de calendrier. Y a-t-il un autre endroit pour l'ajouter? – danielapsmaior

+0

Eh bien, je suis retourné à Webmasters Tools et j'ai vu une erreur "" certificat SSL/TLS n'inclut pas le nom de domaine, "Alors c'est peut-être ça, je posterai quand je le réparerai – danielapsmaior

Répondre

4

Je l'ai eu pour travailler. J'espère que ça peut aider quelqu'un. Voici le chemin:

on Developers Console, l'URL doit être sans https mais avec la méthode incluse.

on Webmaster Tools, l'URL doit être avec le https mais seulement le domaine canonique.

Mon problème était que sur Developers Console j'ai ajouté toutes les possibilités (4 domaines au total), mais le service utilise juste le premier, ce qui était faux.

Dans l'appel, il avait raison, par https et méthode:

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

HI Daniel, ton exemple m'a aidé Pour trier les choses, je reçois correctement le canal et commence le message 'sync' mais après cela rien ne se passe.Avez-vous idée de ce qu'il devrait être? C'est ma question posté ici: http://stackoverflow.com/questions/35434828/google- api-calendar-watch-doesnt-work-but-configured-well – snaggs

+0

juste pour être sûr, vos changements dans le calendrier se produisent avant la date d'expiration de votre chaîne, non? – danielapsmaior

+0

oui, ma chaîne était à jour, de toute façon il a commencé à fonctionner, Je n'ai pas la moindre idée de pourquoi ça sonne comme Google glitch Merci de toute façon mais votre exemple m'a beaucoup aidé – snaggs