Home

Awesome

boxapi logo

Box.net SDK for Python

This api module is in developing, any advice is welcome.

Box.net SDK for Python made developers could access Box.net v2 RESTful API with Python programming language in a easier way, from authentication to query/update the information of files/folders.

Authentication

Developers should apply for an api key while using Box.net API. (Where to apply: Box.net: Developer Services)

>>> from boxapi import Session
>>> api_key = "boxnetapikeyexample"
>>> session = Session(api_key)
>>> session.apply_new_authtoken()
Please go to the following url for authentication: https://www.box.com/api/1.0/auth/boxnetapiticketexample
>>> ticket = session.ticket 

The url for authenticating will be stored in session.auth_url.

After the user authorized your app on the above webpage, you can shoot the authorize() method to get the auth token.

>>> session.authorize(ticket)
>>> session.auth_token
'boxnetauthtokenexample'

Take a look and execute test.py for more action detail.

Action

Action is the general function for calling API methods. To operate correctly, you must know the auth token of the user.


import boxapi
	
api = boxapi.Session("<Your API Key>", auth_token="<Your Auth Token>")
api.action("/folders/0")

api.action() will return a dictionary which contains the response from the api call, and already has been transformed into dictionary from JSON format.


Test

Here's a test script under the root folder of this project, named test.py. Before using the test script, you need to fill API_KEY and AUTH_TOKEN(optional) manually to make sure it will execute successfully.

If you didn't fill the field AUTH_TOKEN, you will need to authorize by open the url appear in the prompt, otherwise you will do the default action (call /folders/0) and see the prettified response on your screen.

Usage of test.py

python test.py

will do the default action /folders/0.

python test.py "/folders/<other_folder_id>"

will call the action you specified by assigning the first argument and display the response.

Roadmap

boxapi now can work well with all the api methods with GET and POST, excluding file downloading and file uploading.

I will implement these following features recently: