Box connection

To access your data in Box, create a connection asset for it.

The Box platform is a cloud content management and file sharing service.

Prerequisite: Create a custom app in Box

Before you create a connection to Box, you create a custom app in the Box Developer Console. You can create an app for application-level access that users can use to share files, or you can create an app for enterprise-wide access to all user accounts. With enterprise-wide access, users do not need to share files and folders with the application.

  1. Go to the Box Developer Console, and follow the wizard to create a Custom App. For the Authentication Method, select OAuth 2.0 with JWT (Server Authentication).

  2. Make the following selections in the Configuration page. Otherwise, keep the default settings.

    1. Select one of two choices for App Access Level:
    2. Keep the default App Access Only selection to allow access where users share files.
    3. Select App + Enterprise Access to create an app with enterprise-wide access to all user accounts.
    4. Under Add and Manage Public Keys, click Generate a Public/Private Keypair. This selection requires that two-factor authentication is enabled on the Box account, but you can disable it afterward. The generated key pair produces a config (*_config.json) file for you to download. You will need the information in this file to create the connection in Watson Studio.
  3. If you selected an App + Enterprise Access, under Advanced Features, select both of these check boxes:

    • Make API calls using the as-user header
    • Generate user access tokens

  4. Submit the app client ID to the Box enterprise administrator for authorization: Go to your application in the Box Developer Console and select the General link from the left sidebar in your application. Scroll down to the App Authorization section.

Create the Box connection

In a project

  1. From the project page, go to Add to project > Connection, then select the Box connection.
  2. Enter the values from the downloaded config file for these settings:
  3. Client ID
  4. Client Secret
  5. Enterprise ID
  6. Private Key (Replace each \n with a newline)
  7. Private Key Password (The passphrase value in the config file)
  8. Public Key (The publicKeyID value in the config file)

For Credentials, you can use secrets if a vault is configured for the platform and the service supports vaults. For information, see Using secrets from vaults in connections.

Enterprise-wide app

If you configured an enterprise-wide access app, enter the username of the Box user account in the Username field.

Application-level app

Users must explicitly share their files with the app's email address in order for the app to access the files.

  1. Make a REST call to the connection to find out the app email address. For example:

    PUT https://api.dataplatform.cloud.ibm.com/v2/connections/{connection_id}/actions/get_user_info?project_id={project_id}

    Request body:

    {}
    

    Returns:

    {
     "login_name": "AutomationUser_123467_aBcDEFg12h@boxdevedition.com"
    }
    
  2. Share the files and folders in Box that you want accessible from Watson Studio with the login name that was returned by the REST call.

Next step: Add data assets from the connection

Where you can use this connection

You can use the Box connection in the following workspaces and tools:

Analytics projects

Catalogs

Supported file types

The Box connection supports these file types: Avro, CSV, Delimited text, Excel, JSON, ORC, Parquet, SAS, SAV, SHP, and XML.

Learn more

Box custom apps

Parent topic: Supported connections