-2

我正在学校开展一项慈善项目,前 10 名的捐赠者将获得奖励。最终目标是在我们的网站上或通过定期推文获得前 10 名列表的实时信息,例如记分牌。我是计算机科学专业的二年级学生,知道 python。

我认为将 JSON 解析为 python 字典或列表然后对排行榜进行排序不会有问题。问题是我对使用 webhook 导入数据方面的 web 技术知之甚少。我可以使用https://requestb.in/查看数据并测试交易,但我需要一个更持久的解决方案。我还需要能够在线而不是在我的计算机上运行这一切。

我真的很感激被指出正确的方向。

在https://requestb.in/上看到的示例交易数据

{
  "date_created": "2013-12-16T16:15:23.514136",
  "type": "payment.created",
  "data": {
    "action": "pay",
    "actor": {
      "about": "No Short Bio",
      "date_joined": "2011-09-09T00:30:51",
      "display_name": "Andrew Kortina",
      "first_name": "Andrew",
      "id": "711020519620608087",
      "last_name": "Kortina",
      "profile_picture_url": "",
      "username": "kortina"
    },
    "amount": null,
    "audience": "public",
    "date_completed": "2013-12-16T16:20:00",
    "date_created": "2013-12-16T16:20:00",
    "id": "1312337325098795713",
    "note": "jejkeljeljke",
    "status": "settled",
    "target": {
      "email": null,
      "phone": null,
      "type": "user",
      "user": {
        "about": "No Short Bio",
        "date_joined": "2011-09-09T00:30:54",
        "display_name": "Shreyans Bhansali",
        "first_name": "Shreyans",
        "id": "711020544786432772",
        "last_name": "Bhansali",
        "profile_picture_url": "",
        "username": "shreyans"
      }
    }
  }
}
4

1 回答 1

1

我看到您上面的示例 JSON 来自https://developer.venmo.com/docs/webhooks

webhook 基本上只是一个知道如何处理 POST 请求的 URL;当他们想要通知您的站点/网络应用程序时,他们会调用该 URL 并将其传递给您希望您接收的信息。

URL 可以是未加密的 (http) 或加密的 (https);如果您正在处理财务信息,您肯定希望它被加密。查看您的网络托管服务商关于设置 SSL 证书的说明。

在同一页面上,它讨论了如何设置配置您的 webhook(登录到您的 Venmo 帐户,转到“开发人员”选项卡,然后输入您的 URL)。为了确认,它将进行 GET 调用(即https://your_site/path/page?venmo_challenge=XYZZY);您的页面需要返回挑战值(即 XYZZY)。

我会建议Flask作为一个简单的 Python 框架和Heroku来托管;还有许多其他选择,但这应该可以帮助您入门。

于 2017-07-22T23:52:37.890 回答