【问题标题】:POST method for webhooks dropboxwebhooks Dropbox 的 POST 方法
【发布时间】:2017-02-15 00:47:40
【问题描述】:

我只是想从 Dropbox 接收有关已进行更改的通知。我目前正在学习本教程:

https://www.dropbox.com/developers/reference/webhooks#tutorial

GET方法做完了,验证好了。

但是,在尝试模仿他们的 POST 实现时,我因以下几件事而苦苦挣扎:

我不知道教程的 def_process 函数中的 redis_url 是什么意思。 我实际上无法验证是否真的从 Dropbox 发送了任何内容。 还有关于如何调试的任何建议?我无法从我的程序中打印任何内容,因为它必须在站点而不是 IDE 上运行。

【问题讨论】:

    标签: python google-app-engine dropbox


    【解决方案1】:

    Redis 是键值存储;这只是在整个应用程序中缓存数据的一种方式。 例如存储oauth回调后收到的访问令牌:

    redis_client.hset('tokens', uid, access_token)
    

    以后只在 process_user 中使用:

    token = redis_client.hget('tokens', uid)
    

    (来自https://github.com/dropbox/mdwebhook/blob/master/app.py 的代码,正如他们的文档所建议的那样:https://www.dropbox.com/developers/reference/webhooks#webhooks)

    同样存储的每用户增量游标也是如此。

    不过有很多资源如何安装 Redis,例如:

    https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis

    在这种情况下,您的 redis_url 将类似于:

    "redis://localhost:6379/"

    还有托管解决方案,例如http://redistogo.com/

    可能的解决方法是为此目的使用数据库。

    至于调试,您可以使用 Python 的日志记录工具,它是线程安全的并且能够将输出写入文件流,如果使用得当,它应该为您提供大量信息。

    更多信息在这里: https://docs.python.org/2/howto/logging.html

    【讨论】:

      猜你喜欢
      • 2013-08-25
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      相关资源
      最近更新 更多