Advanced File Permissions
Updated: 2017-11-9
- Set Permissions
- Set Permission Inheritance
- Batch Set Permissions
- Delete Permissions
- Get Member Permissions
- Get Group Permissions
- Permission Reference Table
API Domain
Host: app.fileshow.com
Note: The secret used for library file operations API is org_client_secret obtained after Library Authorization.
Set Permissions
POST /m-open/2/file/set_permission HTTP/1.1
Request Parameters
| Name | Required | Description |
|---|---|---|
| org_client_id | Yes | Library authorization client_id |
| fullpath | Yes | Full path of the file |
| permissions | Yes | Format as described below |
| dateline | Yes | Current UNIX timestamp in seconds |
| sign | Yes | Signature |
Permissions format:
{
"group_ids": [
Department ID (int),
...
],
"group_out_ids": [
Department unique ID in external system (string),
...
],
"member_ids": [
Member ID (int),
...
],
"accounts": [
Member login account (string),
...
],
"out_ids": [
Member unique ID in external system (string),
...
],
"permission": {
"role_id": Role ID (int), // Use 0 for custom permissions
"ls": Permission status (int),
...
}
}
Key Explanation
group_ids: Use department ID when setting department permissions.group_out_ids: Use unique department ID in the external system when setting department permissions.member_ids: Use member ID when setting member permissions.accounts: Use member login account when setting member permissions.out_ids: Use member unique ID in external system when setting member permissions.permission: Specify the permissions to set.
Note: Use either group_ids or group_out_ids, and either member_ids, accounts, or out_ids.
Permission Status
1: Grant this permission.-1: Deny this permission.0: No specific setting for this permission (optional).
Response
HTTP 200
Set Permission Inheritance
POST /m-open/2/file/set_permission_inherit HTTP/1.1
Request Parameters
| Name | Required | Description |
|---|---|---|
| org_client_id | Yes | Library authorization client_id |
| fullpath | Yes | Full path of the file |
| inherit | Yes | Enable permission inheritance: 1 for yes, 0 for no |
| keep | Yes | Preserve and merge parent permissions: 1 for yes, 0 for no |
| dateline | Yes | Current UNIX timestamp in seconds |
| sign | Yes | Signature |
Response
HTTP 200
Batch Set Permissions
POST /m-open/2/file/batch_set_permission HTTP/1.1
Request Parameters
| Name | Required | Description | |
|---|---|---|---|
| org_client_id | Yes | Library authorization client_id | |
| fullpaths | Yes | Full paths of files, separated by vertical bar ` | ` |
| type | Yes | Batch setting mode: 0 for add permissions, 1 to set permissions (clears existing permissions) |
|
| inherit | No | Enable permission inheritance: 1 for yes, 0 for no |
|
| permissions | Yes | Format as described below | |
| dateline | Yes | Current UNIX timestamp in seconds | |
| sign | Yes | Signature |
Permissions format:
{
"group_ids": [
Department ID (int),
...
],
"group_out_ids": [
Department unique ID in external system (string),
...
],
"member_ids": [
Member ID (int),
...
],
"accounts": [
Member login account (string),
...
],
"out_ids": [
Member unique ID in external system (string),
...
],
"permission": {
"role_id": Role ID (int), // Use 0 for custom permissions
"ls": Permission status (int),
...
}
}
Response
HTTP 200
Delete Permissions
POST /m-open/2/file/del_permission HTTP/1.1
Request Parameters
| Name | Required | Description |
|---|---|---|
| org_client_id | Yes | Library authorization client_id |
| fullpath | Yes | Full path of the file |
| ids | Yes | Format as described below |
| dateline | Yes | Current UNIX timestamp in seconds |
| sign | Yes | Signature |
ids format:
{
"group_ids": [
Department ID (int),
...
],
"group_out_ids": [
Department unique ID in external system (string),
...
],
"member_ids": [
Member ID (int),
...
],
"accounts": [
Member login account (string),
...
],
"out_ids": [
Member unique ID in external system (string),
...
]
}
Response
HTTP 200
Get Member Permissions
POST /m-open/2/file/get_member_permission HTTP/1.1
Request Parameters
| Name | Required | Description |
|---|---|---|
| org_client_id | Yes | Library authorization client_id |
| fullpath | Yes | Full path of the file |
| member_id | - | Member ID |
| out_id | - | Member unique ID in external system |
| account | - | Member login account in external system |
| dateline | Yes | Current UNIX timestamp in seconds |
| sign | Yes | Signature |
Note: Provide one of member_id, out_id, or account in the parameters.
Response
{
"ss": Permission value (int),
...
}
Get Group Permissions
POST /m-open/2/file/get_group_permission HTTP/1.1
Request Parameters
| Name | Required | Description |
|---|---|---|
| org_client_id | Yes | Library authorization client_id |
| fullpath | Yes | Full path of the file |
| group_id | - | Department ID |
| group_out_id | - | Department unique ID in external system |
| dateline | Yes | Current UNIX timestamp in seconds |
| sign | Yes | Signature |
Note: Provide either group_id or group_out_id in the parameters.
Response
{
"ss": Permission value (int),
...
}
Permission Reference Table
| Permission | Description |
|---|---|
| ls | View |
| cd | Enter directory |
| pv | Preview file |
| dl | Download/open file |
| w | Write/edit file |
| ul | Add new file |
| mk | Create new folder |
| ren | Rename |
| rm | Delete |
| ln | Share via external link |
| h | View version history |
| hr | Restore version |
| rmk | View comments / @ mentions |
| rmka | Add comments / @ mentions |
| t | Add tags |
| trm | Delete tags |
| p | View shared participants |
| ps | Manage shared participants |
| ss | Display current item |
| sren | Rename current item |
| srm | Delete current item |
| mls | Modify library settings |
| b | View recycle bin files |
| br | Restore recycle bin files |
| be | Delete/clear recycle bin files |
| mln | Manage library file/folder external links |