Skip to content

Commit dbbcdfa

Browse files
author
Kannan Goundan
committed
Switch examples to use API v2.
1 parent cce49b3 commit dbbcdfa

File tree

12 files changed

+359
-146
lines changed

12 files changed

+359
-146
lines changed

examples/account-info/src/com/dropbox/core/examples/account_info/Main.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import com.dropbox.core.*;
44
import com.dropbox.core.json.JsonReader;
5-
import com.dropbox.core.v1.DbxAccountInfo;
6-
import com.dropbox.core.v1.DbxClientV1;
5+
import com.dropbox.core.v2.DbxClientV2;
6+
import com.dropbox.core.v2.Users;
77

88
import java.io.IOException;
99
import java.util.Locale;
@@ -54,18 +54,19 @@ public static void main(String[] args)
5454
// Create a DbxClientV1, which is what you use to make API calls.
5555
String userLocale = Locale.getDefault().toString();
5656
DbxRequestConfig requestConfig = new DbxRequestConfig("examples-account-info", userLocale);
57-
DbxClientV1 dbxClient = new DbxClientV1(requestConfig, authInfo.accessToken, authInfo.host);
57+
DbxClientV2 dbxClient = new DbxClientV2(requestConfig, authInfo.accessToken, authInfo.host);
5858

5959
// Make the /account/info API call.
60-
DbxAccountInfo dbxAccountInfo;
60+
Users.FullAccount dbxAccountInfo;
61+
Users.SpaceUsage dbxSpaceUsage;
6162
try {
62-
dbxAccountInfo = dbxClient.getAccountInfo();
63+
dbxAccountInfo = dbxClient.users.getCurrentAccount();
6364
}
6465
catch (DbxException ex) {
65-
ex.printStackTrace();
66-
System.err.println("Error in getAccountInfo(): " + ex.getMessage());
66+
System.err.println("Error making API call: " + ex.getMessage());
6767
System.exit(1); return;
6868
}
69-
System.out.println("User's account info: " + dbxAccountInfo.toStringMultiline());
69+
70+
System.out.print(dbxAccountInfo.toStringMultiline());
7071
}
7172
}

examples/authorize/src/com/dropbox/core/examples/authorize/Main.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
package com.dropbox.core.examples.authorize;
22

3-
import com.dropbox.core.*;
3+
import com.dropbox.core.DbxAppInfo;
4+
import com.dropbox.core.DbxAuthFinish;
5+
import com.dropbox.core.DbxAuthInfo;
6+
import com.dropbox.core.DbxException;
7+
import com.dropbox.core.DbxRequestConfig;
8+
import com.dropbox.core.DbxWebAuth;
9+
import com.dropbox.core.DbxWebAuthNoRedirect;
410
import com.dropbox.core.json.JsonReader;
511

6-
import java.io.*;
12+
import java.io.BufferedReader;
13+
import java.io.IOException;
14+
import java.io.InputStreamReader;
15+
import java.io.PrintStream;
716
import java.util.Locale;
817
import java.util.logging.Level;
918
import java.util.logging.Logger;

examples/upgrade-oauth1-token/src/com/dropbox/core/examples/upgrade_oauth1_token/Main.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package com.dropbox.core.examples.upgrade_oauth1_token;
22

3-
import com.dropbox.core.*;
3+
import com.dropbox.core.DbxAppInfo;
4+
import com.dropbox.core.DbxAuthInfo;
5+
import com.dropbox.core.DbxException;
6+
import com.dropbox.core.DbxOAuth1AccessToken;
7+
import com.dropbox.core.DbxOAuth1Upgrader;
8+
import com.dropbox.core.DbxRequestConfig;
49
import com.dropbox.core.json.JsonReader;
510

6-
import java.io.*;
11+
import java.io.IOException;
12+
import java.io.PrintStream;
713
import java.util.ArrayList;
814
import java.util.Locale;
915
import java.util.logging.Level;

examples/upload-file/src/com/dropbox/core/examples/upload_file/Main.java

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.dropbox.core.examples.upload_file;
22

3-
import com.dropbox.core.*;
3+
import com.dropbox.core.DbxAuthInfo;
4+
import com.dropbox.core.DbxException;
5+
import com.dropbox.core.DbxRequestConfig;
6+
import com.dropbox.core.DbxWebAuth;
47
import com.dropbox.core.json.JsonReader;
58
import com.dropbox.core.util.IOUtil;
6-
import com.dropbox.core.v1.DbxClientV1;
7-
import com.dropbox.core.v1.DbxEntry;
8-
import com.dropbox.core.v1.DbxWriteMode;
9+
import com.dropbox.core.v2.DbxClientV2;
10+
import com.dropbox.core.v2.DbxPathV2;
11+
import com.dropbox.core.v2.Files;
912

1013
import java.io.FileInputStream;
1114
import java.io.IOException;
@@ -68,34 +71,40 @@ private static int _main(String[] args)
6871
return 1;
6972
}
7073

71-
String pathError = DbxPath.findError(dropboxPath);
74+
String pathError = DbxPathV2.findError(dropboxPath);
7275
if (pathError != null) {
7376
System.err.println("Invalid <dropbox-path>: " + pathError);
7477
return 1;
7578
}
7679

77-
// Create a DbxClientV1, which is what you use to make API calls.
80+
// Create a DbxClientV2, which is what you use to make API calls.
7881
String userLocale = Locale.getDefault().toString();
7982
DbxRequestConfig requestConfig = new DbxRequestConfig("examples-upload-file", userLocale);
80-
DbxClientV1 dbxClient = new DbxClientV1(requestConfig, authInfo.accessToken, authInfo.host);
83+
DbxClientV2 dbxClient = new DbxClientV2(requestConfig, authInfo.accessToken, authInfo.host);
8184

8285
// Make the API call to upload the file.
83-
DbxEntry.File metadata;
86+
Files.FileMetadata metadata;
87+
InputStream in = new FileInputStream(localPath);
8488
try {
85-
InputStream in = new FileInputStream(localPath);
86-
try {
87-
metadata = dbxClient.uploadFile(dropboxPath, DbxWriteMode.add(), -1, in);
88-
} catch (DbxException ex) {
89-
System.out.println("Error uploading to Dropbox: " + ex.getMessage());
90-
return 1;
91-
} finally {
92-
IOUtil.closeInput(in);
93-
}
89+
Files.UploadUploader uploader = dbxClient.files.upload(dropboxPath);
90+
IOUtil.copyStreamToStream(in, uploader.getBody());
91+
metadata = uploader.finish();
92+
}
93+
catch (Files.UploadException ex) {
94+
System.out.println("Error uploading to Dropbox: " + ex.getMessage());
95+
return 1;
96+
}
97+
catch (DbxException ex) {
98+
System.out.println("Error uploading to Dropbox: " + ex.getMessage());
99+
return 1;
94100
}
95101
catch (IOException ex) {
96102
System.out.println("Error reading from file \"" + localPath + "\": " + ex.getMessage());
97103
return 1;
98104
}
105+
finally {
106+
IOUtil.closeInput(in);
107+
}
99108

100109
System.out.print(metadata.toStringMultiline());
101110
return 0;

examples/web-file-browser/src/com/dropbox/core/examples/web_file_browser/Common.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import static com.dropbox.core.util.StringUtil.jq;
44

5-
import com.dropbox.core.*;
5+
import com.dropbox.core.DbxAppInfo;
6+
import com.dropbox.core.DbxException;
7+
import com.dropbox.core.DbxRequestConfig;
68
import com.dropbox.core.util.LangUtil;
79
import com.fasterxml.jackson.databind.ObjectMapper;
810
import com.fasterxml.jackson.databind.SerializationFeature;
@@ -145,7 +147,7 @@ public DbxRequestConfig getRequestConfig(HttpServletRequest request)
145147
}
146148

147149
public void handleDbxException(HttpServletResponse response, User user, DbxException ex, String action)
148-
throws IOException, ServletException
150+
throws IOException
149151
{
150152
// The one special error is InvalidAccessToken. This is probably happening because
151153
// the user "unlinked" us through Dropbox's website. Clear their access token in the
@@ -157,7 +159,13 @@ public void handleDbxException(HttpServletResponse response, User user, DbxExcep
157159
return;
158160
}
159161

160-
// For all other errors, the generic "try again later" is a decent response.
162+
handleException(response, ex, action);
163+
}
164+
165+
public void handleException(HttpServletResponse response, Exception ex, String action)
166+
throws IOException
167+
{
168+
// The generic "try again later" is a decent response.
161169
// - If it's a transient error, then a retry will work.
162170
// - If it's Dropbox's fault, their service will eventually get fixed and the retry will work (sooner or later).
163171
// - If it's our fault, we might fix our service and the retry will work eventually.

examples/web-file-browser/src/com/dropbox/core/examples/web_file_browser/DropboxAuth.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.dropbox.core.examples.web_file_browser;
22

3-
import com.dropbox.core.*;
3+
import com.dropbox.core.DbxAuthFinish;
4+
import com.dropbox.core.DbxException;
5+
import com.dropbox.core.DbxSessionStore;
6+
import com.dropbox.core.DbxStandardSessionStore;
7+
import com.dropbox.core.DbxWebAuth;
48

59
import javax.servlet.ServletException;
610
import javax.servlet.http.HttpServletRequest;

0 commit comments

Comments
 (0)