我是 Django 框架的初学者,我正在构建一个使用 Slack RTM API 的 Django 应用。
我用 python 编写了一个程序来执行 OAuth 身份验证过程,如下所示:
def initialize():
url="https://slack.com/api/rtm.connect"
payload={"token":"xxx"}
r=requests.post(url,payload)
res=json.loads(r.text)
url1=res['url']
ws = create_connection(url1)
return ws
我的要求:
我收到的事件流(来 self 的 slack 应用程序添加到的 slack channel )被处理以过滤掉类型为消息的事件,然后将消息与正则表达式模式匹配,然后将匹配的字符串存储在数据库。
作为一个独立的 python 程序,我从我的 channel 接收事件流。
我的问题:
如何将此代码成功集成到 Django 中,以便我可以 满足我的要求吗?
我是否将代码放在模板/ View 中?是什么 处理此数据流的推荐方法?
最佳答案
def initialize():
url = "https://slack.com/api/rtm.connect"
r = requests.get(url, params={'token': '<YOUR TOKEN>'})
res = r.json()
url1=res['url']
ws = create_connection(url1) #Note: There is no function called create_connnection() so it will raise an error
return ws
如果您阅读 API 网络方法,您会看到:
首选 HTTP 方法: GET
看评论,是正确的代码,看看这段代码和你的代码之间的区别。
基本上从请求中获取 JSON 不要使用 json.loads
因为这会搜索您的本地计算机而不是请求
使用 r.json()
所以它调用你从 r
得到的 json。
请注意,r.text
将返回原始文本输出,因此当您想要获取 url 时,它不会被识别,使用 r.json
可以调用对象 url如前所述
希望这对您有所帮助。
请你能告诉我们更多你想用这个观点做什么吗?因为模板是一个目录,其中包含您不需要使用的所有 HTML 文件。
但为什么是 views.py
呢?
关于python - 在 Django 2.0 中使用 Slack RTM API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50774686/