Access Slack files from a slack bot

You can access private URLs from your bot by providing an access token in the HTTP header when you are doing you CURL request.

Your token needs to have the scope files.read in order to get access.

The format is:

Authorization: Bearer A_VALID_TOKEN

Replace A_VALID_TOKEN with your slack access token.

I just tested it with a simple PHP script to retrieve a file by its "url_private" and it works nicely.

Source: Slack API documententation / file object / Authentication


Example for using the Python requests library to fetch an example file:

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