From 88e412e33af5916de073519258239776e5aa0619 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 3 Jul 2018 10:27:24 +0800 Subject: [PATCH] youtube webhook not fin --- libs/api-action/google.js | 28 ++++++++++++++++++++++++++++ package.json | 3 ++- route/google/index.js | 18 ++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 libs/api-action/google.js create mode 100644 route/google/index.js diff --git a/libs/api-action/google.js b/libs/api-action/google.js new file mode 100644 index 0000000..42c181b --- /dev/null +++ b/libs/api-action/google.js @@ -0,0 +1,28 @@ +const axios = require('axios') +const config = require('../../config') + +const subYoutube = async (id = '') => { + let url = 'https://pubsubhubbub.appspot.com/subscribe' + if (typeof id !== 'string' || id.trim().length === 0) return null + id = id.trim() + + let data = { + 'hub.mode': 'subscribe', + 'hub.topic': `https://www.youtube.com/xml/feeds/videos.xml?channel_id=${id}`, + 'hub.callback': `${config.url.replace(/\/$/, '')}/google/youtube/webhook?id=${id}`, + 'hub.lease_seconds': 86400 + } + + try { + await axios({ + data, + url, + method: 'post' + }) + } catch (err) {} + return null +} + +module.exports = { + subYoutube +} diff --git a/package.json b/package.json index 7f73f53..1c55d5f 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "koa-router": "^7.4.0", "pg": "^7.4.3", "raw-body": "^2.3.3", - "request": "^2.87.0" + "request": "^2.87.0", + "xml2js": "^0.4.19" }, "devDependencies": { "standard": "^11.0.1" diff --git a/route/google/index.js b/route/google/index.js new file mode 100644 index 0000000..3088435 --- /dev/null +++ b/route/google/index.js @@ -0,0 +1,18 @@ +const Router = require('koa-router') +const r = new Router() +// const koaBody = require('koa-body') +const { + getRaw +} = require('../../libs/middleware') +const { + textMessage +} = require('../../libs/line-message') + +r.get('/youtube/webhook', async (c, n) => { +}) + +r.post('/youtube/webhook', getRaw, async (c, n) => { + console.log(JSON.stringify(c.request.body, null, 2)) +}) + +module.exports = r