You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
tritnguyen
3 years agoExplorer | Level 3
Refresh key does not work.
Hi,
I created a trial account with the Business Advance Account; this account was used to test the features of Dropbox for my team. I created an app and wrote a test program to collect user’s information and monitor the event log using the Dropbox API Java SDK. The test program worked fine. When my trial ended, my company bought the Business Advance Account license for me and some others of my team. I created a Refresh token with information from App Key and App Secret as before. However, when I tried my test program to get the event log, I got the following errors:
com.dropbox.core.BadResponseException: Bad JSON: expected object value.
at [Source: (sun.net.www.protocol.http.HttpURLConnection$HttpInputStream); line: 1, column: 47112]
at com.dropbox.core.v2.DbxRawClientV2$1.execute(DbxRawClientV2.java:158)
at com.dropbox.core.v2.DbxRawClientV2.executeRetriable(DbxRawClientV2.java:330)
at com.dropbox.core.v2.DbxRawClientV2.executeRetriableWithRefresh(DbxRawClientV2.java:351)
at com.dropbox.core.v2.DbxRawClientV2.rpcStyle(DbxRawClientV2.java:137)
at com.dropbox.core.v2.teamlog.DbxTeamTeamLogRequests.getEvents(DbxTeamTeamLogRequests.java:47)
at com.dropbox.core.v2.teamlog.DbxTeamTeamLogRequests.getEvents(DbxTeamTeamLogRequests.java:84)
I did not make any changes to my test program, just use it with the new refresh key; the new refresh key has a same scopes as the previous refresh key. So anybody having the same problem? Do you guys have any suggestions to fix it?
Thank you.
That should be addressed in v5.4.4, per the release notes. Please give that a try and let us know if you run in to any issues. Thanks!
- tritnguyenExplorer | Level 3
My email address for the Business Advance Account license is different than my email address for the trial account. Note that if I am using the same Refresh Key, I can get the users information but not the event log. This is the code:
static public void getLogEvents(DbxTeamTeamLogRequests teamLog)
{
GetTeamEventsResult eventRes = null;
try
{
eventRes = teamLog.getEvents(); //Connect and get events from DropBox server.
eventCursor = eventRes.getCursor();
}
catch (DbxException e1)
{
e1.printStackTrace();
}
while(true)
{
List<TeamEvent> events = eventRes.getEvents();
for(int i = 0; i < events.size(); i++)
{
TeamEvent event = events.get(i);
System.out.println(event.toStringMultiline());
}
if(eventRes.getHasMore())
{
try
{
eventRes = teamLog.getEventsContinue(eventCursor);
eventCursor = eventRes.getCursor();
}
catch (DbxException e)
{
e.printStackTrace();
}
}
else
{
break;
}
}
}
static public void getUsers(DbxTeamTeamRequests team)
{
try
{
MembersListResult memberList = team.membersList();
memberCursor = memberList.getCursor();
while(true)
{
List<TeamMemberInfo> members = memberList.getMembers();
for(int i = 0; i < members.size(); i++)
{
TeamMemberInfo member = members.get(i);
System.out.println(member.toStringMultiline());
}
if(memberList.getHasMore())
{
try{
memberList = team.membersListContinue(memberCursor);
memberCursor = memberList.getCursor();
}
catch (DbxException e){
e.printStackTrace();
}
}
else
{
break;
}
}
}
catch (DbxException e)
{
throw new RuntimeException(e);
}
}
public static void main(String args[]) throws IOException, DbxException {
DbxCredential credential;
Path path = Paths.get("C:\\tri\\proj\\features\\features\\outputKey.json");
byte[] data = Files.readAllBytes(path);
try
{
credential = DbxCredential.Reader.readFully(data);
}
catch (JsonReadException e)
{
throw new RuntimeException(e);
}
// Create a DbxTeamClientV2, which is what you use to make API calls.
DbxRequestConfig requestConfig = new DbxRequestConfig(CONFIG_NAME);
DbxTeamClientV2 dbxClient = new DbxTeamClientV2(requestConfig, credential);
DbxTeamTeamLogRequests teamLog = dbxClient.teamLog();
DbxTeamTeamRequests team = dbxClient.team();
MembersListResult memberList = team.membersList();
memberCursor = memberList.getCursor();
getUsers(team); //OK, returning correct users information.
getLogEvents(teamLog);
} - Greg-DBDropbox Staff
This was a bug that could occur with versions before v5.3.0 of the Dropbox Java SDK. Please update to at least v5.3.0, or preferably the latest version, currently v5.4.4, and try again.
- tritnguyenExplorer | Level 3
I need the 4.x.x version because our application is using Java 8. To use version 5.x.x, I need to have Java 11+ which I cannot install it because our application will not compile with Java 11+. Can we have another way to resolve it?
- Greg-DBDropbox Staff
That should be addressed in v5.4.4, per the release notes. Please give that a try and let us know if you run in to any issues. Thanks!
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,883 PostsLatest Activity: 21 hours agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!