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

设置transferOwnership与moveToNewOwnersRoot后获取新文件ID的方法

问题解答

问题描述

我需要在域内将文件从一个用户转移至另一个用户,目前通过创建新Permission并设置transferOwnership和moveToNewOwnersRoot为true实现该操作,且运行正常。但将文件移至新所有者的根目录后,我想把它移入嵌套文件夹,这需要调用PATCH请求到/drive/v3/files/fileId端点,但我需要知道新的文件ID。执行创建Permission的操作后文件会生成新ID,然而该接口仅返回Permission而非关联文件,请问是否可以通过Permission ID获取对应的文件ID?


解答

  • 无法通过Permission ID直接查询到对应的文件ID,Drive API没有提供这类反向关联的接口。
  • 针对你的场景,推荐以下几种解决方案:
    1. 创建Permission时主动获取文件ID
      调用创建Permission的接口时,添加fields参数指定返回fileId字段。例如请求时携带fields=id,fileId,这样返回的Permission对象中就会包含对应的文件ID(实际域内转移所有权操作不会改变文件ID,这个ID就是原文件的ID)。
    2. 直接使用原文件ID
      转移所有权并移动到新所有者根目录的操作不会修改文件的唯一ID,你可以直接使用转移前记录的原文件ID,调用PATCH /drive/v3/files/fileId接口将文件移入目标嵌套文件夹。
    3. 通过新所有者检索目标文件
      如果前两种方式不适用,可以让新所有者调用GET /drive/v3/files接口,通过筛选条件(比如按createdTime排序、匹配文件名)找到根目录下刚转移过来的文件,从而获取其ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:35:25