Discuss Dropbox Developer & API
Hi
How to assign access level permission while sharing the file to the members using API
I have done in c# and code is here.
using (var dbx = new DropboxClient(token))
{
var shareFolderLaunch = await dbx.Sharing.ShareFolderAsync("/CloudPOC");
var sharedFolderId = "";
if (shareFolderLaunch.IsAsyncJobId)
{
while (true)
{
var shareFolderJobStatus = await dbx.Sharing.CheckShareJobStatusAsync(shareFolderLaunch.AsAsyncJobId.Value);
if (shareFolderJobStatus.IsFailed)
{
Console.WriteLine("Sharing folder failed: " + shareFolderJobStatus.AsFailed.Value);
return;
}
else if (shareFolderJobStatus.IsInProgress)
{
Console.WriteLine("Sharing folder in progress...");
// todo: add some delay
}
else if (shareFolderJobStatus.IsComplete)
{
Console.WriteLine("Sharing folder complete.");
sharedFolderId = shareFolderJobStatus.AsComplete.Value.SharedFolderId;
break;
}
}
}
else if (shareFolderLaunch.IsComplete)
{
sharedFolderId = shareFolderLaunch.AsComplete.Value.SharedFolderId;
}
else
{
return;
}
Console.WriteLine("Shared folder with ID: " + sharedFolderId);
var members = new[] { new AddMember(new MemberSelector.Email("example@xxx.com")) };
var access_level = "viewer";
var add_message_as_comment = false;
await dbx.Sharing.AddFolderMemberAsync(sharedFolderId, members,true);
}
When adding a member to a shared folder using the AddFolderMemberAsync method in the Dropbox .NET SDK like this, you can set the new member's access level when you construct the AddMember object, using this AddMember constructor, which takes both a MemberSelector and an AccessLevel.
The MemberSelector works the way you already have it, and you can supply an instance of the desired AccessLevel. For example, for view-only access, that would be AccessLevel.Viewer.Instance.
When adding a member to a shared folder using the AddFolderMemberAsync method in the Dropbox .NET SDK like this, you can set the new member's access level when you construct the AddMember object, using this AddMember constructor, which takes both a MemberSelector and an AccessLevel.
The MemberSelector works the way you already have it, and you can supply an instance of the desired AccessLevel. For example, for view-only access, that would be AccessLevel.Viewer.Instance.
thanks for your prompt response
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!