問題
youtube apiのpush notification、詳細は↓
https://developers.google.com/youtube/v3/guides/push_notifications
これのwebhookを実装した後、↓のページでsubscribeしようとすると
https://pubsubhubbub.appspot.com/subscribe
challenge mismatch
とエラーが出ます。
解決
firebase cloud functionを利用しているが、node.jsのexpressでも通用すると思います。
exports.youtubeWebhook = functions
.region("asia-northeast1")
.https.onRequest((req, res) => {
// challengeに回答する。mismatchを解消
if (req.query['hub.challenge']) {
res.set('Content-Type', 'text/plain');
res.status(200).send(req.query['hub.challenge']);
return;
}
// ここからxmlを受け取って、ビジネスロジックを実行
...
});