V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
paloalto
V2EX  ›  分享创造

用 node.js 实现的豆瓣大笨钟

  •  
  •   paloalto · 2015-07-04 03:08:31 +08:00 · 2871 次点击
    这是一个创建于 3457 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前有人用 python 写了一个,似乎是跑在 GAE 上,年久失修了, https://code.google.com/p/doubanclock/

    最近写音乐同步功能时正好用到豆瓣 API,所以顺手用 node 重写了一个。

    代码: https://github.com/naoyeye/doubanAnimalClock
    网站: http://dabenji.doubanclock.com/
    效果: http://www.douban.com/people/dabenji/

    整点时通过豆瓣广播 API 接口自动发送报时信息。

    主要用到了 everyauth-cn 和 node-schedule

    =======
    不过偶尔会报时失败。Orz
    第 1 条附言  ·  2015-08-10 12:25:52 +08:00
    查到报时失败的原因了,之前服务放在美国那边的 Linode 上,往豆瓣发请求时 ping 值太高,后来迁到阿里云后,报时在1秒内。
    11 条回复    2015-07-09 01:41:43 +08:00
    sunnymiao
        1
    sunnymiao  
       2015-07-04 19:20:19 +08:00
    第二个 登陆有神马用呢?而且还登陆失败。。
    iStar
        2
    iStar  
       2015-07-04 22:34:30 +08:00
    ReferenceError: everyauth is not defined
    at EveryModule.module.exports.oauthModule.submodule.configurable.oauthHost.apiHost.customHeaders.customHeaders.authPath.authQueryParam.postAccessTokenParamsVia.accessTokenParam.accessTokenPath.entryPath.callbackPath.authQueryParam.authCallbackDidErr.fetchOAuthUser.handleAuthCallbackError.moduleErrback.next [as _handleAuthCallbackError] (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/modules/douban.js:61:12)
    at Step.exec (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/step.js:60:17)
    at StepSequence.start (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/stepSequence.js:46:35)
    at Step.exec (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/step.js:67:21)
    at RouteTriggeredSequence.StepSequence.start (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/stepSequence.js:46:35)
    at RouteTriggeredSequence.routeHandler (/home/www/hanjiyun/doubanAnimalClock/node_modules/everyauth-cn/lib/routeTriggeredSequence.js:17:7)
    at callbacks (/home/www/hanjiyun/doubanAnimalClock/node_modules/express/lib/router/index.js:164:37)
    at param (/home/www/hanjiyun/doubanAnimalClock/node_modules/express/lib/router/index.js:138:11)
    at pass (/home/www/hanjiyun/doubanAnimalClock/node_modules/express/lib/router/index.js:145:5)
    at Router._dispatch (/home/www/hanjiyun/doubanAnimalClock/node_modules/express/lib/router/index.js:173:5)
    paloalto
        3
    paloalto  
    OP
       2015-07-05 06:44:28 +08:00 via iPhone
    @sunnymiao 登录是给对应的帐号用的。其他帐号无法登录。
    paloalto
        4
    paloalto  
    OP
       2015-07-05 06:45:57 +08:00 via iPhone
    @iStar 什么时候出的这个错误?
    iStar
        5
    iStar  
       2015-07-05 10:59:14 +08:00
    @paloalto 第二个链接的授权页面点取消
    langker
        6
    langker  
       2015-07-08 17:04:44 +08:00
    为什么不开放让我登陆试试5555
    paloalto
        7
    paloalto  
    OP
       2015-07-08 17:09:48 +08:00
    @langker 如果开放登录的话,那样谁都可以用豆瓣大笨鸡的帐号发广播了,还可以改掉密码什么的。。
    langker
        8
    langker  
       2015-07-08 23:33:06 +08:00 via iPhone
    @paloalto 这个不是第三方授权登陆嘛。。。没细看。。。明儿再研究下
    loddit
        9
    loddit  
       2015-07-09 01:06:21 +08:00
    现在这样的功能可以用 leancloud 类似的云代码,或者 webscript.io 来做。都支持 cronjob
    paloalto
        10
    paloalto  
    OP
       2015-07-09 01:38:51 +08:00
    @langker 更新了 README,加了配置说明。
    paloalto
        11
    paloalto  
    OP
       2015-07-09 01:41:43 +08:00
    @loddit 我一开始是用 leancloud 部署的,但是有的 node 包不让装,被限制了。

    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5380 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 88ms · UTC 07:55 · PVG 15:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.