Source Code : Stuck at File Upload Download App in DropBox using java

Stuck at File Upload Download App in DropBox using java

I am working on Dropbox api using java. first app is to upload and download file in dropbox account. I got a token to authenticate with dropbox but when i try to uploading file in account i get bad request error like:

Exception in thread "main" com.dropbox.core.DbxException$BadResponse: unexpected response code: 401
  at com.dropbox.core.DbxClient$4.handle(DbxClient.java:274)
  at com.dropbox.core.DbxClient$4.handle(DbxClient.java:270)
  at com.dropbox.core.DbxRequestUtil.doGet(DbxRequestUtil.java:265)
  at com.dropbox.core.DbxClient.doGet(DbxClient.java:1912)
  at com.dropbox.core.DbxClient.getAccountInfo(DbxClient.java:270)
  at com.prit.net.Main.main(Main.java:50)My code is below package com.prit.net;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Locale;
import com.dropbox.core.DbxAppInfo;
import com.dropbox.core.DbxClient;
import com.dropbox.core.DbxEntry;
import com.dropbox.core.DbxException;
import com.dropbox.core.DbxRequestConfig;
import com.dropbox.core.DbxWebAuthNoRedirect;
import com.dropbox.core.DbxWriteMode;
public class Main {

  public static void main(String[] args) throws IOException, DbxException, URISyntaxException {
  // Get your app key and secret from the Dropbox developers website.
  final String APP_KEY = "mykey"; // change with yours
  final String APP_SECRET = "mysecret"; // change with yours

  DbxAppInfo appInfo = new DbxAppInfo(APP_KEY, APP_SECRET);

  DbxRequestConfig config = new DbxRequestConfig("JavaTutorial/1.0",Locale.getDefault().toString());
  DbxWebAuthNoRedirect webAuth = new DbxWebAuthNoRedirect(config, appInfo);
  // Have the user sign in and authorize your app.
  String authorizeUrl = webAuth.start();
  //Desktop.getDesktop().browse(new URL(authorizeUrl).toURI());
  // System.out.println("1. Go to: " + authorizeUrl);
  // System.out
  // .println("2. Click \"Allow\" (you might have to log in first)");
  // System.out.println("3. Copy the authorization code.");
  // String code = new BufferedReader(new InputStreamReader(System.in))
  // .readLine().trim();
  //DbxAuthFinish authFinish = webAuth.finish(code);
  // System.out.println("Access token is:");
  // System.out.println(authFinish.accessToken.toString());

  // save the value of myToken to a file for future use
  String myToken = "myTokensecretkeyxxxxxxxxxxxxxxxxx"; // change with
  // yours
  // DbxClient client = new DbxClient(config, authFinish.accessToken);
  DbxClient client = new DbxClient(config, myToken);
  System.out.println(config);
  System.out.println(myToken);

  System.out.println("check1");
  File inputFile = new File("C:\\Dev\\foo.txt");
  System.out.println("check2");
  FileInputStream inputStream = new FileInputStream(inputFile);
  System.out.println("check3");
  try {
  DbxEntry.File uploadedFile = client.uploadFile("/FileApiDemo/fooup2.txt",
  DbxWriteMode.add(), inputFile.length(), inputStream);
  System.out.println("Uploaded: " + uploadedFile.toString());
  } catch (Exception e) {

  e.printStackTrace();
  } finally {
  inputStream.close();
  }

  DbxEntry.WithChildren listing = client.getMetadataWithChildren("/FileApiDemo");
  System.out.println("Files in the root path:");
  for (DbxEntry child : listing.children) {
  System.out.println("  " + child.name + ": " + child.toString());
  }

  // download file
  FileOutputStream outputStream = new FileOutputStream("C:\\Dev\\downloadedfile.txt");
  try {
  DbxEntry.File downloadedFile = client.getFile("/FileApiDemo/fooup2.txt", null,  outputStream);
  System.out.println("Metadata: " + downloadedFile.toString());
  }  finally {
  outputStream.close();
  }

  }

} `