2016-03-07 35 views
1

我在通过Slack oauth进程中途停滞并可以使用一些帮助。我有添加松懈添加到我的网站按钮,并根据下一步的文档检索临时代码:从添加到松弛按钮中检索临时代码

如果用户授权您的应用程序,时差会回重定向到与您指定的REDIRECT_URI代码中的临时代码GET参数

此代码需要调用oauth.access,它将返回我需要的令牌。 Add to Slack按钮按预期工作并将我发送到包含代码的URL,但我无法弄清楚如何使用Python 3.5以编程方式检索它。我一直在试验urllib库(https://docs.python.org/3/library/urllib.request.html#urllib.request.HTTPRedirectHandler)以及请求库。

我的问题的根源在于我需要从未知的URL中检索代码。这里是我正在阅读的文档的链接:https://api.slack.com/docs/oauth

任何帮助或指导,非常感谢!

回答

0

Slack Documentation

第2步 - 令牌发行
如果用户授权您的应用程序,时差会回重定向到您在code GET参数指定redirect_uri用临时代码

当您在OAuth许可屏幕上授权您的应用后,Slack会将您重定向到您在步骤1中传递给您的redirect_uri或您在应用配置页面中设置的redirect_uri

在服务器端,您将需要读取code GET参数来完成OAuth流程。

这里有一个要点,它展示了如何做基本的松弛的OAuth和Django:https://gist.github.com/xoneco/43cd18d5b991b8f5e288

Line 27开始演示如何实现redirect_uri终点,完成OAuth的流量。

+0

感谢您的回复。在你发布的代码片段中,你是否知道传递给oauthcallback的'request'参数的起源?我不知道如何找到正确的URL来读取它的GET参数,尽管我可以通过浏览器清楚地看到它。 – dcastello

+0

'request'参数从Django传递给函数。它包含'GET'字典,这就是我可以检索'code'参数值的原因。所有GET请求参数都包含在本字典中([更多信息的链接](https://docs.djangoproject.com/en/stable/ref/request-response/#httprequest-objects))您为所有人使用了什么框架此刻呢? –

+0

目前我们没有框架 - 只是简单的Python代码和通过Amazon EC2托管的网站。我需要一个框架来让我的代码在线吗?如果是这样,你建议Django?最终产品将是一个为许多Slack团队同时服务的机器人。 – dcastello