无法使用Google Drive api创建文件快捷方式

问题描述 投票:0回答:1

这是我尝试运行的示例代码。

import requests

api_endpoint = 'https://www.googleapis.com/upload/drive/v3/files?supportsAllDrives=true'

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

json={"name": "a.jpg", "mimeType": "application/vnd.google-apps.shortcut", "parents": [{"id": "folder_id"}], "shortcutDetails": {"targetId": "target_file_id"}}

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

即使此代码也没有选择该名称,它只是创建一个包含 json 数据的文本文件。

python google-drive-api
1个回答
0
投票

修改要点:

  • 我认为在这种情况下,终点是
    https://www.googleapis.com/drive/v3/files
    而不是
    https://www.googleapis.com/upload/drive/v3/files
  • 对于 Drive API v3,属性
    parents
    的值必须为
    ["folder_id"]
    ,而不是
    [{"id": "folder_id"}]

当这些要点反映在你的脚本中时,就会变成如下所示。

修改后的脚本:

请设置您的访问令牌、父文件夹 ID 和目标文件 ID。

import requests

access_token = "###" # Please set your access token.

api_endpoint = 'https://www.googleapis.com/drive/v3/files?supportsAllDrives=true'

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

json = {"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)
print(res.status_code)
print(res.text)
  • 当我测试这个修改后的脚本时,我确认在
    "target_file_id"
    的文件夹中创建了
    "folder_id"
    的快捷方式文件。

参考:

© www.soinside.com 2019 - 2024. All rights reserved.