Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
I am adding a team member using .net Dropbox.Api class library.
I could not figure a way to get IsSuccess or IsUserAlreadyOnTeam properties after MembersAddAsync is called. Since MembersAddAsync method returns the Task type, the only information I can got from the call is IsComplete.
How is it possible to determine if adding a member operation was succesful?
You can do something like this:
var membersAddLaunch = await this.client.Team.MembersAddAsync(newMembers); if (membersAddLaunch.IsComplete) { Console.WriteLine ("Adding members is complete."); foreach (var memberAdd in membersAddLaunch.AsComplete.Value) { if (memberAdd.IsSuccess) { Console.WriteLine ("Successfully added:"); Console.WriteLine (memberAdd.AsSuccess.Value.Profile.Email); } else { Console.WriteLine (memberAdd); } } } else if (membersAddLaunch.IsAsyncJobId) { Console.WriteLine ("Adding member via async job with job ID..."); Console.WriteLine (membersAddLaunch.AsAsyncJobId.Value); // todo: poll MembersAddJobStatusGetAsync to get the result }
You should poll MembersAddJobStatusGetAsync after MembersAddAsync to get the result.
Hi Greg, Thank you so much for your reply!
Do you have a sample code on how to get a pollArg parameter from this call?
var Result = await client.Team.MembersAddAsync(iemember);
await client.Team.MembersAddJobStatusGetAsync(?);
I don't have a sample available, but you'll want to use MembersAddLaunch.IsAsyncJobId to check if the MembersAddLaunch you got from MembersAddAsync is an async job ID, and then use MembersAddLaunch.AsAsyncJobId to get the MembersAddLaunch.AsyncJobId, which you can pass to MembersAddJobStatusGetAsync.
Greg,
Thank you for your help.
Unfortunately the Value of IsAsyncJobID is false and AsAsyncJobID is NULL, IsComplete is true after the call.
Not sure how could I get those values.
It looks like the way to access IsSuccess property from AsComplete is:
new System.Collections.Generic.Mscorlib_CollectionDebugView<Dropbox.Api.Team.MemberAddResult>(Result.AsComplete.Value).Items[0].IsSuccess
But it gives me the error: 'Mscorlib_CollectionDebugView<T>' is inaccessible due to its protection level.
Is there something else I am missing?
Thank you again.
You can do something like this:
var membersAddLaunch = await this.client.Team.MembersAddAsync(newMembers); if (membersAddLaunch.IsComplete) { Console.WriteLine ("Adding members is complete."); foreach (var memberAdd in membersAddLaunch.AsComplete.Value) { if (memberAdd.IsSuccess) { Console.WriteLine ("Successfully added:"); Console.WriteLine (memberAdd.AsSuccess.Value.Profile.Email); } else { Console.WriteLine (memberAdd); } } } else if (membersAddLaunch.IsAsyncJobId) { Console.WriteLine ("Adding member via async job with job ID..."); Console.WriteLine (membersAddLaunch.AsAsyncJobId.Value); // todo: poll MembersAddJobStatusGetAsync to get the result }
Perfet! This works. Thank you so much!
Hi there!
If you need more help you can view your support options (expected response time for a 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!