Get the list of users who can follow the file and mark the users who have followed the file
GET /nd/api/file/user_can_focusfile
URL query parameters
| Parameter | Type | Description |
|---|---|---|
file_id |
string |
Required file ID |
Scroll horizontally to view all columns
Response
A successful response includes a users array. isFocusFile is an integer: 0 means the user is not following the requested file; 1 means the user is following it.
The fields and JSON types below are observed in the supplied sample. Names, emails, phone numbers, employee IDs, user and department identifiers, and timestamps have been replaced with example values. Where no complete enum was supplied, only observed values are documented.
| Field | Sample type | Description |
|---|---|---|
id |
string |
User ID. |
babelId |
string or null |
Employee ID; may be null. |
name |
string |
User display name. |
email |
string |
Email address. |
sex |
int |
Sex code; the sample contains 0 and 1. |
phone |
string or null |
Phone number; the sample includes a masked string and null. |
registered |
int |
Registration-related flag; the sample uses 1. |
frozen |
int |
Freeze-related flag; the sample uses 0. |
status |
int |
Status code; the sample uses 0. A complete enum is not supplied. |
registerTime |
string |
Registration time; the sample uses a UTC date-time string ending in Z. |
lastAccessTime |
string |
Last access time; the sample uses a UTC date-time string ending in Z. |
maxDownloadSpeed |
int |
Download-speed value; the sample uses 0. Units and the meaning of zero are not supplied. |
extraAttr |
int |
Additional attribute value; the sample contains 0 and 1. Business meaning is not supplied. |
isFocusFile |
int |
0: not following this file; 1: following this file. |
departments |
array |
The user's departments; can contain multiple departments. |
departments[].departmentId |
string |
Department ID. |
departments[].departmentName |
string |
Department name. |
Scroll horizontally to view all columns
The success example shows both a follower and a non-follower:
{
"code": 0,
"users": [
{
"id": "2001",
"babelId": "member-example",
"name": "示例成员甲",
"email": "member-a@example.com",
"sex": 0,
"phone": "000****0000",
"registered": 1,
"frozen": 0,
"status": 0,
"registerTime": "2026-01-01T00:00:00.000Z",
"lastAccessTime": "2026-01-02T00:00:00.000Z",
"maxDownloadSpeed": 0,
"extraAttr": 1,
"isFocusFile": 1,
"departments": [
{"departmentId": "3001", "departmentName": "示例部门甲"}
]
},
{
"id": "2002",
"babelId": null,
"name": "示例成员乙",
"email": "member-b@example.com",
"sex": 1,
"phone": null,
"registered": 1,
"frozen": 0,
"status": 0,
"registerTime": "2026-01-01T00:00:00.000Z",
"lastAccessTime": "2026-01-03T00:00:00.000Z",
"maxDownloadSpeed": 0,
"extraAttr": 0,
"isFocusFile": 0,
"departments": [
{"departmentId": "3002", "departmentName": "示例部门乙"},
{"departmentId": "3003", "departmentName": "示例部门丙"},
{"departmentId": "3004", "departmentName": "示例部门丁"}
]
}
],
"success": true
}
Failure:
{"code":2,"success":false}
isFocusFile is relative to the requested file_id, not whether the user follows any file at all. This structure belongs to this endpoint and does not redefine other user-list endpoints.
Calling the Endpoint
Use Authorization: Bearer <access_token>. GET parameters belong in the URL query; normal business POST requests use JSON. Check HTTP status and then the business result. Confirm array serialization and ambiguous types with the deployment instead of inventing fields.