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

使用Google Drive API无法创建文件快捷方式的问题求助

问题原因及解决方案

问题出在你使用了文件上传端点(/upload/drive/v3/files),但创建快捷方式属于元数据操作,不需要上传二进制文件内容。当你在这个端点使用json参数时,requests会把JSON数据当成文件的正文内容发送,导致Google Drive创建了一个包含该JSON的文本文件,而非解析成快捷方式的元数据。

修正步骤

  1. 替换API端点为标准的文件创建端点,去掉/upload路径
  2. 其余参数保持不变,你定义的快捷方式元数据格式是正确的

修正后的代码

import requests

# 替换为不带/upload的标准文件创建端点
api_endpoint = 'https://www.googleapis.com/drive/v3/files?supportsAllDrives=true'

headers = {
    'Authorization': f'Bearer {access_token}'
}

# 快捷方式的元数据定义,parents字段可简化为直接传ID字符串
json_payload = {
    "name": "a.jpg",
    "mimeType": "application/vnd.google-apps.shortcut",
    "parents": ["folder_id"],
    "shortcutDetails": {"targetId": "target_file_id"}
}

res = requests.post(api_endpoint, headers=headers, json=json_payload)
print(res.status_code)
print(res.text)

额外说明

  • 只有需要上传二进制文件内容(比如图片、文档)时,才需要使用带/upload的端点,且需配合files参数传递文件内容。
  • 创建快捷方式、文件夹这类仅涉及元数据的操作,直接使用标准的drive/v3/files端点即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:46:11