This project contains workshops on how to use the Box Python SDK to interact with the Box API.
- Create a Box free account if you don't already have one.
- Complete the registration process for a Box developer account.
- Making sure you're logged in navigate to the Box Developer Console. This will activate your developer account.
- Create a new Box application. Select Custom App, fill in the form and then click Next.
- Select User Authentication (OAuth 2.0) and then click Create App.
- Scroll down to Redirect URIs and add the following redirect URI:
- http://127.0.0.1:5000/callback
- (or whatever you have configured in the .env file)
- Check all boxes in application scopes.
- (or only what you think will be necessary)
- Click Save Changes.
- Note the Client ID and Client Secret. You will need these later.
git clone git@github.com:barduinor/box-workshop-python.git
cd box-workshop-python
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp sample.env .env
code .
Update the CLIENT_ID and CLIENT_SECRET field values in the env file with the Box application client id and client secret you created on the developer console. Depending on the workshop you are working on, you may need to update other environment variables in the .env file.
# Common settings
CLIENT_ID = YOUR_CLIENT_ID
CLIENT_SECRET = YOU_CLIENT_SECRET
# OAuth2 settings
CALLBACK_HOSTNAME = 127.0.0.1
CALLBACK_PORT = 5000
REDIRECT_URI = http://127.0.0.1:5000/callback
# CCG Settings
ENTERPRISE_ID = YOUR_ENTERPRISE_ID
CCG_USER_ID = THE_USER_ID
# JWT Settings
JWT_CONFIG_PATH = /path/to/your/jwt/config/file
Depending on the type of authentication you'll be using test the associated files.
python test_oauth.py
The first time you run the application, it should open a web browser window and prompt you to log in to Box. After you log in, it will ask you to authorize the application. Once this process is complete you can close the browser window. By default the sample app prints the current user's name to the console, and lists the items on the root folder.
The authorization token last for 60 minutes, and the refresh toke for 60 days. If you get stuck, you can delete the .outh.json file and reauthorize the application.
JWT or CCG authentication will not require you to log in to Box.
If you get stuck or have questions, make sure to ask on our Box Developer Forum
You'll find the workshop exercises in the workshops folder.
- Folders - List, recursion, create, update, rename, copy, error handling, and delete
- Files - Upload, download, update, move, copy, error handling, and delete
- File Comments - Interact with the activity feed and comments
- Search - Using search in the Box API
- Shared Links - Create and manage shared links
- File Representations - Working with file representations