Back to DropboxSharing - Change File Member Access
Identical to update_file_member but with less information returned.
Input
type: object
properties:
data:
type: object
description: |
Arguments for :route:`change_file_member_access`.
file: File for which we are changing a member's access.
member: The member whose access we are changing.
access_level: The new access level for the member.
properties:
member:
type: object
description: |
Includes different ways to identify a member of a shared folder.
dropbox_id: Dropbox account, team member, or group ID of member.
email: E-mail address of member.
other: None
properties:
.tag:
title: Choice of MemberSelector
type: string
enum:
- dropbox_id
- email
- other
dropbox_id:
type: string
description: Dropbox account, team member, or group ID of member.
email:
type: string
description: E-mail address of member.
access_level:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder. Owners can
view and edit the shared folder as well as set the folder's policies
using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared folder
and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other
file:
type: string
description: File for which we are changing a member's access.
title: Data
Output
type: object
description: >
Per-member result for :route:`add_file_member` or
:route:`change_file_member_access`.
member: One of specified input members.
result: The outcome of the action on this member.
properties:
member:
type: object
description: |
Includes different ways to identify a member of a shared folder.
dropbox_id: Dropbox account, team member, or group ID of member.
email: E-mail address of member.
other: None
properties:
.tag:
title: Choice of MemberSelector
type: string
enum:
- dropbox_id
- email
- other
dropbox_id:
type: string
description: Dropbox account, team member, or group ID of member.
email:
type: string
description: E-mail address of member.
result:
type: object
description: >
success: Member was successfully removed from this file. If AccessLevel is
given, the member still has access via a parent shared folder.
member_error: User was not able to perform this action.
properties:
member_error:
type: object
description: >
invalid_member: Specified member was not found.
no_permission: User does not have permission to perform this action on
this member.
access_error: Specified file was invalid or user does not have access.
no_explicit_access: The action cannot be completed because the target
member does not have explicit access to the file. The return value is
the access that the member has to the file from a parent folder.
other: None
properties:
access_error:
type: object
description: >
User could not access this file.
no_permission: Current user does not have sufficient privileges to
perform the desired action.
invalid_file: File specified was not found.
is_folder: A folder can't be shared this way. Use folder sharing
or a shared link instead.
inside_public_folder: A file inside a public folder can't be
shared this way. Use a public link instead.
inside_osx_package: A Mac OS X package can't be shared this way.
Use a shared link instead.
other: None
properties:
.tag:
title: Choice of SharingFileAccessError
type: string
enum:
- no_permission
- invalid_file
- is_folder
- inside_public_folder
- inside_osx_package
- other
.tag:
title: Choice of FileMemberActionError
type: string
enum:
- invalid_member
- no_permission
- access_error
- no_explicit_access
- other
no_explicit_access:
type: object
description: >
Contains information about a member's access level to content
after an operation.
access_level: The member still has this level of access to the
content through a parent folder.
warning: A localized string with additional information about why
the user has this access level to the content.
access_details: The parent folders that a member has access to.
The field is present if the user has access to the first parent
folder where the member gains access.
properties:
access_level:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder.
Owners can view and edit the shared folder as well as set the
folder's policies using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared
folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared
folder and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other
access_details:
type: array
description: >-
The parent folders that a member has access to. The field is
present if the user has access to the first parent folder
where the member gains access.
items:
type: object
description: >
Contains information about a parent folder that a member has
access to.
folder_name: Display name for the folder.
shared_folder_id: The identifier of the parent shared
folder.
permissions: The user's permissions for the parent shared
folder.
path: The full path to the parent shared folder relative to
the acting user's root.
properties:
path:
type: string
description: >-
The full path to the parent shared folder relative to
the acting user's root.
shared_folder_id:
type: string
description: The identifier of the parent shared folder.
folder_name:
type: string
description: Display name for the folder.
permissions:
type: array
description: The user's permissions for the parent shared folder.
items:
type: object
description: >
Whether the user is allowed to take the action on the
associated member.
action: The action that the user may wish to take on
the member.
allow: True if the user is allowed to take the action.
reason: The reason why the user is denied the
permission. Not present if the action is allowed.
properties:
action:
type: object
description: >
Actions that may be taken on members of a shared
folder.
leave_a_copy: Allow the member to keep a copy of
the folder when removing.
make_editor: Make the member an editor of the
folder.
make_owner: Make the member an owner of the
folder.
make_viewer: Make the member a viewer of the
folder.
make_viewer_no_comment: Make the member a viewer
of the folder without commenting permissions.
remove: Remove the member from the folder.
other: None
properties:
.tag:
title: Choice of MemberAction
type: string
enum:
- leave_a_copy
- make_editor
- make_owner
- make_viewer
- make_viewer_no_comment
- remove
- other
reason:
type: object
description: >
Possible reasons the user is denied a permission.
user_not_same_team_as_owner: User is not on the
same team as the folder owner.
user_not_allowed_by_owner: User is prohibited by
the owner from taking the action.
target_is_indirect_member: Target is indirectly a
member of the folder, for example by being part of
a group.
target_is_owner: Target is the owner of the
folder.
target_is_self: Target is the user itself.
target_not_active: Target is not an active member
of the team.
folder_is_limited_team_folder: Folder is team
folder for a limited team.
owner_not_on_team: The content owner needs to be
on a Dropbox team to perform this action.
permission_denied: The user does not have
permission to perform this action on the link.
restricted_by_team: The user's team policy
prevents performing this action on the link.
user_account_type: The user's account type does
not support this action.
user_not_on_team: The user needs to be on a
Dropbox team to perform this action.
folder_is_inside_shared_folder: Folder is inside
of another shared folder.
restricted_by_parent_folder: Policy cannot be
changed due to restrictions from parent folder.
insufficient_plan: None
other: None
properties:
insufficient_plan:
type: object
description: >
message: A message to tell the user to upgrade
in order to support expected action.
upsell_url: A URL to send the user to in order
to obtain the account type they need, e.g.
upgrading. Absent if there is no action the
user can take to upgrade.
properties:
message:
type: string
description: >-
A message to tell the user to upgrade in
order to support expected action.
upsell_url:
type: string
description: >-
A URL to send the user to in order to
obtain the account type they need, e.g.
upgrading. Absent if there is no action
the user can take to upgrade.
.tag:
title: Choice of PermissionDeniedReason
type: string
enum:
- user_not_same_team_as_owner
- user_not_allowed_by_owner
- target_is_indirect_member
- target_is_owner
- target_is_self
- target_not_active
- folder_is_limited_team_folder
- owner_not_on_team
- permission_denied
- restricted_by_team
- user_account_type
- user_not_on_team
- folder_is_inside_shared_folder
- restricted_by_parent_folder
- insufficient_plan
- other
allow:
type: boolean
description: True if the user is allowed to take the action.
warning:
type: string
description: >-
A localized string with additional information about why the
user has this access level to the content.
.tag:
title: Choice of FileMemberActionIndividualResult
type: string
enum:
- success
- member_error
success:
type: object
description: >
Defines the access levels for collaborators.
owner: The collaborator is the owner of the shared folder. Owners can
view and edit the shared folder as well as set the folder's policies
using :route:`update_folder_policy`.
editor: The collaborator can both view and edit the shared folder.
viewer: The collaborator can only view the shared folder.
viewer_no_comment: The collaborator can only view the shared folder
and does not have any access to comments.
other: None
properties:
.tag:
title: Choice of AccessLevel
type: string
enum:
- owner
- editor
- viewer
- viewer_no_comment
- other