cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: Swifty Dropbox Batchupload

Swifty Dropbox Batchupload

abhishek9851
Explorer | Level 3
Go to solution

I am trying to write batchupload function in swifty, and it works. But I cant get access to async_job_id after I call uploadSessionFinishBatch.

 

client.files.uploadSessionFinishBatch(entries: finishArgArray).response{ response, error in
                    if let result = response {
                        print(result.description.)
                    }
            }

I can only access description and the output is something like this

 

{
    ".tag" = "async_job_id";
    "async_job_id" = "dbjid:AAAY5UFZ3gPJJn5Com802JjQl48zzD4YYMIXgdhD1ZL0ZnkPApGP4P9pr-_HLAHsIfSu2Jeov9sCpoL_kGuxshpt";
}

 

I would like to fetch the async_job_id field, so that I can check the status of batch upload. What is the right way of doing it in swift?

 

In Java I could do something like this

String asyncJobId =  dbxClient.files().uploadSessionFinishBatch(mFinishArgs).getAsyncJobIdValue();

 

1 Accepted Solution

Accepted Solutions

Greg-DB
Dropbox Staff
Go to solution

You can access the results job ID like this:

 

switch result {
case .none:
    print("Empty result")
case .some(let unwrappedResult):
    switch unwrappedResult {
    case .asyncJobId(let asyncJobId):
        print(asyncJobId)
    case .complete:
        print("Job is complete")
    }
}

Hope this helps! 

View solution in original post

2 Replies 2

Greg-DB
Dropbox Staff
Go to solution

You can access the results job ID like this:

 

switch result {
case .none:
    print("Empty result")
case .some(let unwrappedResult):
    switch unwrappedResult {
    case .asyncJobId(let asyncJobId):
        print(asyncJobId)
    case .complete:
        print("Job is complete")
    }
}

Hope this helps! 

abhishek9851
Explorer | Level 3
Go to solution

Thanks Greg, that worked. 

Since I hardly see any examples of batch upload, ill post my version here, i hope it helps.

 

https://gist.github.com/bazimogmbh/bba9ab300750a236d903709eeebf82b5

Need more support?