You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Box Python SDK获取文件上传者信息显示匿名的问题求助

问题:Box Python SDK获取文件上传者邮箱时返回匿名用户

我正在使用Box SDK列出文件夹中的所有文件,代码如下:

request_url = f"https://api.box.com/2.0/folders/{folder_id}/items"
request = self.client.make_request("GET", request_url, params={"limit": limit, "offset": offset,
                                                               "fields": ["created_by"]})
data = request.json()

返回的data里的entries字段包含文件元数据,但请求的created_by显示为匿名用户:
{'type': 'user', 'id': '2', 'name': 'Anonymous User', 'login': ''}

奇怪的是,Box网页UI的“Updated”列能看到具体信息,比如“Yesterday By user@email.com”。我尝试添加modified_by到请求字段中,结果仍然显示匿名用户。

请问有人成功通过Box Python SDK获取到文件上传者的邮箱信息吗?


解决方案
  1. 检查应用权限
    你的Box应用需要开启read_users权限,否则无法获取用户的详细信息(包括邮箱)。登录Box开发者控制台,找到你的应用,在「权限」设置里开启read_users权限,然后重新授权应用。

  2. 指定用户字段的嵌套属性
    默认情况下,created_by或modified_by只返回基础用户对象,不会包含login字段。需要在请求的fields参数里明确指定嵌套字段:

    request_url = f"https://api.box.com/2.0/folders/{folder_id}/items"
    request = self.client.make_request("GET", request_url, params={"limit": limit, "offset": offset,
                                                                "fields": ["created_by", "created_by.login", "modified_by", "modified_by.login"]})
    data = request.json()
    

    这样返回的用户对象会包含login字段(即邮箱),前提是应用有权限访问该用户信息。

  3. 确认文件上传场景

    • 如果文件是通过公共链接匿名上传的,那么created_by确实会显示为匿名用户,网页UI显示的可能是后续修改该文件的内部用户。
    • 如果文件是内部用户上传,但仍显示匿名,检查你的应用是否被授权访问该用户的信息,或者尝试用管理员账号授权应用后重试。

内容的提问来源于stack exchange,提问作者MarcelD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:35:18