dropbox/dropbox-sdk-obj-c

ODBoxHandler - NSErrorFailingURLKey=https://api.dropbox.com/2/files/list_folder

babulk opened this issue · 5 comments

Getting empty files.

[ODBoxHandler] Error fetching files: DropboxClientError[{
NSError = "Error Domain=NSURLErrorDomain Code=-1000 "(null)" UserInfo={_NSURLErrorRelatedURLSessionTaskErrorKey=(\n "LocalDataTask <2ED1C890-FEEC-491C-B69F-DDF74778EEE2>.<2>"\n), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <2ED1C890-FEEC-491C-B69F-DDF74778EEE2>.<2>, NSErrorFailingURLKey=https://api.dropbox.com/2/files/list_folder}";
}];

I see a reference to "ODBoxHandler" which is not part of this official Dropbox Objective-C SDK. It appears to be part of this third party library. As that's not made by Dropbox, we can't offer support for that.

If you need help with the Dropbox API or official Dropbox Objective-C SDK itself, please share the relevant code and steps to reproduce the issue. Thanks!

**ODBoxHandler is a third party. I understood. The following code is where I am getting error.

I have tried without using the third party also, still got error.**

@Property (nonatomic, strong, nullable) DBUserClient *mainClient;

[[self.mainClient.filesRoutes listFolder:parentDirectory] setResponseBlock:^(DBFILESListFolderResult * _Nullable result, DBFILESListFolderError * _Nullable routeError, DBRequestError * _Nullable networkError) {
if (result) {
newFileList = [NSMutableArray arrayWithCapacity:result.entries.count];

        [self parseTheFileEntriesFrom:result.entries intoArray:newFileList];
        
        if ([result.hasMore boolValue]) {
            NSLog(@"Folder is large enough where we need to call `listFolderContinue:`");
            [self listFolderContinueWithCursor:result.cursor intoFileArray:newFileList completion:finishBlock];
        } else {
            NSLog(@"List folder complete.");
            finishBlock(newFileList.copy, nil);
        }
    } else {
        finishBlock(nil, networkError.nsError);
    }
}];


**Directly used the official "Dropbox Objective-C SDK" as well. Still throwing error.**

DBUserClient *client = [DBClientsManager authorizedClient];

NSString *searchPath = @"";

[[client.filesRoutes listFolder:searchPath]
    setResponseBlock:^(DBFILESListFolderResult *result, DBFILESListFolderError *routeError, DBRequestError *error) {
      if (result) {
          NSLog(@"result ----%@", result);
       // [self displayPhotos:result.entries];
      } else {
              //Error here
  }

is there any location specific condition is there?

I am trying to login in India. I am getting error. If the same credentials used by onsite developers(USA) then they are not seeing any error to fetch the files.

Your location itself shouldn't matter to the operation of the Dropbox API, but your connection to the Dropbox servers does depend on the routing you get between your ISP and our servers, and may be subject to a number of other factors.

For instance, might your ISP be blocking these connections, or is there anything on your network connection, such as a firewall, proxy, VPN, anti-virus, etc., that might be interfering with these connections?

Also, do other Dropbox API calls fail or succeed? Which ones specifically?

Thank you. Issue resolved. As part of our app, If we disable transport then it worked. I able to see the files now.