Skip to content

ballerina-platform/module-ballerinax-dropbox

Repository files navigation

Ballerina Dropbox connector

Build Trivy GraalVM Check GitHub Last Commit GitHub Issues

Overview

Dropbox cloud storage service that allows users to store, share, and manage files online.

The ballerinax/dropbox package offers APIs to connect and interact with Dropbox API endpoints, specifically based on Dropbox API v2.

Setup guide

To use the Dropbox connector, you must have access to the Dropbox API. Dropbox uses OAuth 2.0, an open specification, to authorize access to data. To get an OAuth token from Dropbox to enable Dropbox Connector to access your Dropbox account via the API you’ll need to create a new app on the DBX Platform.

Creating an App on the DBX Platform

  1. Navigate to https://www.dropbox.com/developers/apps and sign up to create an account (or log in if you already have an account)

Dropbox Developer Portal

  1. Select “Create app”.

Dropbox Apps Dashboard

  1. Choose an API, type of access you need, and give your app a name.

Create App Page

For reference, please use the Dropbox OAuth guide.

Generating an Access Token

Once you select “Create app”, a page will load that displays information about your newly created app. To generate an access token scroll down to “OAuth 2” and click “Generate” beneath “Generated access token.” The token will display as a long string of characters. Copy this token for use with the Dropbox connector. App Settings

Quickstart

To use the Dropbox connector in your Ballerina application, update the .bal file as follows:

Step 1: Import the module

Import the dropbox module.

import ballerinax/dropbox;

Step 2: Instantiate a new connector

  1. Create a Config.toml file and, configure the obtained credentials in the above steps as follows:
token = "<Enter your token here>"
  1. Create a dropbox:ConnectionConfig with the obtained access token and initialize the connector with it.
configurable string token = ?;
dropbox:ConnectionConfig config = {auth: {token}};

final dropbox:Client dropbox = check new(config, serviceUrl = "https://api.dropboxapi.com/2");

Step 3: Invoke the connector operation

Now, utilize the available connector operations.

Create a Folder

public function main() returns error? {
    dropbox:FolderMetadataResponse createFolder = check dropbox->/files/create_folder_v2.post(
        payload = {
            path: "/path/to/folder",
            autorename: true
        }
    );
}

Step 4: Run the Ballerina application

bal run

Examples

The Dropbox connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:

Build from the source

Setting up the prerequisites

  1. Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:

    Note: After installation, remember to set the JAVA_HOME environment variable to the directory where JDK was installed.

  2. Download and install Ballerina Swan Lake.

  3. Download and install Docker.

    Note: Ensure that the Docker daemon is running before executing any tests.

  4. Export Github Personal access token with read package permissions as follows,

    export packageUser=<Username>
    export packagePAT=<Personal access token>

Build options

Execute the commands below to build from the source.

  1. To build the package:

    ./gradlew clean build
  2. To run the tests:

    ./gradlew clean test
  3. To build the without the tests:

    ./gradlew clean build -x test
  4. To run tests against different environments:

    ./gradlew clean test -Pgroups=<Comma separated groups/test cases>
  5. To debug the package with a remote debugger:

    ./gradlew clean build -Pdebug=<port>
  6. To debug with the Ballerina language:

    ./gradlew clean build -PbalJavaDebug=<port>
  7. Publish the generated artifacts to the local Ballerina Central repository:

    ./gradlew clean build -PpublishToLocalCentral=true
  8. Publish the generated artifacts to the Ballerina Central repository:

    ./gradlew clean build -PpublishToCentral=true

Contribute to Ballerina

As an open-source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of conduct

All the contributors are encouraged to read the Ballerina Code of Conduct.

Useful links

Releases

No releases published

Packages

No packages published