[英]How to Get User Token for Slack API
我有一个完全基于脚本的 python 我想运行的 Slack 应用程序,但它需要一个用户(不是机器人)令牌。 我可以很好地使用遗留令牌,但我想通过 oauth 获取令牌。不过,我在弄清楚如何执行此操作时遇到了很多麻烦:我已经向应用程序添加了本地重定向并且我已经尝试过这个代码:
def _get_credentials(self):
credential_dir = os.path.join(PATH, '.credentials')
if not os.path.exists(credential_dir):
os.makedirs(credential_dir)
credential_path = os.path.join(credential_dir,
CREDENTIALS_LOCATION)
store = oauth2client.file.Storage(credential_path)
credentials = store.get()
if not credentials or credentials.invalid:
clientSecretPath = os.path.join(PATH, CLIENT_SECRET_FILE)
flow = client.flow_from_clientsecrets(clientSecretPath, SCOPES)
flow.user_agent = APPLICATION_NAME
#### START PROBLEM ###
credentials = tools.run_flow(flow, store)
#### BREAKS ####
print('Storing credentials to ' + credential_path)
return credentials
我遇到的所有问题都在哈希标签指定的行上。
第一个是,如果凭证文件不存在,它不会创建它,而是会中断。
如果我用我想要的名称创建一个空文件,则 web 浏览器会打开并要求用户进行身份验证。 如果他们这样做,他们将 go 转到一个页面,上面写着“身份验证过程已完成”。 但是,在终端中它显示Authentication has failed: Invalid response: 302
并且没有任何内容存储到凭据文件中。
在任何一种情况下,它都不会在 #### BREAKS #### 之后到达该行
我做错了什么,或者更好的是,我该怎么做?
请求这些权限很容易:
从应用程序管理页面 ( https://api.slack.com/apps ) 加载应用程序的设置。
在导航菜单中,选择 OAuth 和权限功能。
向下滚动到范围部分,然后从下拉菜单中选择频道:阅读和频道:历史。
单击保存更改。
滚动回此页面的顶部并查找显示“将应用程序安装到工作区”的按钮(或者,如果您以前这样做过,请重新安装应用程序)。 点击它。
您现在将看到一个权限请求屏幕,用于将您的应用安装到其原始工作区。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.