Skip to content

box-community/box-python-gen-workshop

Repository files navigation

“box-dev-logo”

Box Python Workshops

This project contains workshops on how to use the Box Python SDK to interact with the Box API.

Box configuration steps

  1. Create a Box free account if you don't already have one.
  2. Complete the registration process for a Box developer account.
  3. Making sure you're logged in navigate to the Box Developer Console. This will activate your developer account.
  4. Create a new Box application. Select Custom App, fill in the form and then click Next.
  5. Select User Authentication (OAuth 2.0) and then click Create App.
  6. Scroll down to Redirect URIs and add the following redirect URI:
  7. Check all boxes in application scopes.
    • (or only what you think will be necessary)
  8. Click Save Changes.
  9. Note the Client ID and Client Secret. You will need these later.

Installation and configuration

Get the code

git clone git@github.com:box-community/box-python-gen-workshop.git
cd box-python-gen-workshop

Set up your virtual environment

On MacOS and Linux (Python 3.12)

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Create your local application environment file
cp sample_oauth.env .oauth.env

On Windows CMD (Python 3.12)

python3 -m venv .venv
.venv\Scripts\activate.bat
pip install --upgrade pip
pip install -r requirements.txt

On Windows PowerShell (Python 3.12)

python3 -m venv .venv
.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -r requirements.txt
Create your local application environment file
copy sample_oauth.env .oauth.env

Open the code in the code editor of your choice.

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

Test the application

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 .oauth.tk.db file and reauthorize the application.

JWT or CCG authentication will not require you to log in to Box.

Questions

If you get stuck or have questions, make sure to ask on our Box Developer Forum

Workshops

You'll find the workshop exercises in the workshops folder.

About

Box Python Gen SDK workshops and exercises

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published