Sample code for 30+ languages & platforms
React Native

Create a Temporary Public Link to a DropBox File

See more Dropbox Examples

Get a temporary link to stream content of a file. This link will expire in four hours and afterwards you will get 410 Gone.

Chilkat React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Implements the following CURL command:

  // curl -X POST https://api.dropboxapi.com/2/files/get_temporary_link \
  //     --header "Authorization: Bearer DROPBOX_ACCESS_TOKEN" \
  //     --header "Content-Type: application/json" \
  //     --data "{\"path\": \"/video.mp4\"}"

  // Use this online tool to generate code from sample JSON:
  // Generate Code to Create JSON

  // The following JSON is sent in the request body.

  // {
  //   "path": "/video.mp4"
  // }

  const json = new JsonObject();
  json.updateString('path', '/video.mp4');

  http.setRequestHeader('Authorization', 'Bearer DROPBOX_ACCESS_TOKEN');

  const resp = new HttpResponse();
  try {
    await http.httpJsonAsync('POST', 'https://api.dropboxapi.com/2/files/get_temporary_link', json, 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const sbResponseBody = new StringBuilder();
  resp.getBodySb(sbResponseBody);
  const jResp = new JsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('Failed.');
    return;
  }

  // Sample JSON response:
  // (Sample code for parsing the JSON response is shown below)

  // {
  //   "metadata": {
  //     "name": "Prime_Numbers.txt",
  //     "id": "id:a4ayc_80_OEAAAAAAAAAXw",
  //     "client_modified": "2015-05-12T15:50:38Z",
  //     "server_modified": "2015-05-12T15:50:38Z",
  //     "rev": "a1c10ce0dd78",
  //     "size": 7212,
  //     "path_lower": "/homework/math/prime_numbers.txt",
  //     "path_display": "/Homework/math/Prime_Numbers.txt",
  //     "sharing_info": {
  //       "read_only": true,
  //       "parent_shared_folder_id": "84528192421",
  //       "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc"
  //     },
  //     "is_downloadable": true,
  //     "property_groups": [
  //       {
  //         "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa",
  //         "fields": [
  //           {
  //             "name": "Security Policy",
  //             "value": "Confidential"
  //           }
  //         ]
  //       }
  //     ],
  //     "has_explicit_shared_members": false,
  //     "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  //   },
  //   "link": "https://dl.dropboxusercontent.com/apitl/1/YXNkZmFzZGcyMzQyMzI0NjU2NDU2NDU2"
  // }

  // Sample code for parsing the JSON response...
  // Use the following online tool to generate parsing code from sample JSON:
  // Generate Parsing Code from JSON

  let templateId = '';
  let j = 0;
  let countJ = 0;
  let name = '';
  let value = '';

  const metadataName = jResp.stringOf('metadata.name');
  const metadataId = jResp.stringOf('metadata.id');
  const metadataClientModified = jResp.stringOf('metadata.client_modified');
  const metadataServerModified = jResp.stringOf('metadata.server_modified');
  const metadataRev = jResp.stringOf('metadata.rev');
  const metadataSize = jResp.intOf('metadata.size');
  const metadataPathLower = jResp.stringOf('metadata.path_lower');
  const metadataPathDisplay = jResp.stringOf('metadata.path_display');
  const metadataSharingInfoParentSharedFolderId = jResp.stringOf('metadata.sharing_info.parent_shared_folder_id');
  const metadataSharingInfoModifiedBy = jResp.stringOf('metadata.sharing_info.modified_by');
  const metadataContentHash = jResp.stringOf('metadata.content_hash');
  const link = jResp.stringOf('link');
  let i = 0;
  const countI = jResp.sizeOfArray('metadata.property_groups');
  while (i < countI) {
    jResp.i = i;
    templateId = jResp.stringOf('metadata.property_groups[i].template_id');
    j = 0;
    countJ = jResp.sizeOfArray('metadata.property_groups[i].fields');
    while (j < countJ) {
      jResp.j = j;
      name = jResp.stringOf('metadata.property_groups[i].fields[j].name');
      value = jResp.stringOf('metadata.property_groups[i].fields[j].value');
      j++;
    }

    i++;
  }
}