从slack bot访问Slack文件

ddg*_*dgd 15 ruby slack-api slack

我需要一个能够接收和保存来自松弛聊天室的文件的松散机器人.

问题是:slack不发送文件内容,而是指向文件的链接数组.其中大多数,包括下载链接都是私有的,无法通过bot访问.它确实发送了一个公共链接,但该链接指向文件预览,它没有文件本身(这是一个例子).

所以问题是:如何通过bot访问上传的文件?

Eri*_*ken 18

当您执行CURL请求时,可以通过在http标头中提供访问令牌来访问机器人的私有URL.这可以是使用OAuth或全局"测试令牌"接收的访问令牌.

格式为:

Authorization: Bearer A_VALID_TOKEN
Run Code Online (Sandbox Code Playgroud)

用您的松弛访问令牌替换A_VALID_TOKEN.

我刚用一个简单的PHP脚本测试它,通过它的"url_private"检索文件,它运行得很好.

来源:Slack API documententation /文件对象/身份验证

  • 这里还有一个Python示例代码:https://gist.github.com/ErikKalkoken/f3ab28617d5099531ded865d111dbac1 (2认同)

Mai*_*der 8

使用Python 请求库获取示例文件的示例:

import requests
url = 'https://slack-files.com/T0JU09BGC-F0UD6SJ21-a762ad74d3'
token = 'xoxp-8853424449-8820034832-8891394196-faf6f0'
requests.get(url, headers={'Authorization': 'Bearer %s' % token})
Run Code Online (Sandbox Code Playgroud)