gpt4 book ai didi

python - 400 客户端错误 : Bad Request for url: https://api. dropboxapi.com/2/files/list_folder

转载 作者:行者123 更新时间:2023-11-28 21:42:59 25 4
gpt4 key购买 nike

我正在尝试为我们的 Dropbox Business 帐户列出团队成员的文件夹。

https://api.dropboxapi.com/2/files/list_folder要求我们添加 Dropbox-API-Select-User header ,但它似乎不起作用。

到目前为止,这是我的代码:

import requests

url = "https://api.dropboxapi.com/2/files/list_folder"

headers = {
"Authorization": "Bearer MY_TOKEN",
"Dropbox-API-Select-User": "dbid:ACCOUNT_ID"
}

data = {
"path": "/",
}

r = requests.post(url, headers=headers, json=data)
r.raise_for_status()
print(r.json())

请注意,post() 函数中的 json= 参数将内容类型设置为 application/json,这样应该是正确的。

上面的代码引发了一个异常:

requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.dropboxapi.com/2/files/list_folder

我尝试使用团队成员 ID (bdmid:) 而不是帐户 ID,但出现了同样的错误。

你知道哪里出了问题吗?

在此先感谢您的帮助。

如果有任何不同,我正在使用 Python 3.6。

最佳答案

首先,我应该指出,我们确实建议使用官方 Dropbox API v2 Python SDK因为它会为您处理很多底层网络/格式化工作。也就是说,您当然可以使用底层 HTTPS endpoints如果您愿意,可以直接点赞。

无论如何,在处理此类问题时,一定要打印出响应主体本身,因为它将包含更有用的错误消息。您可以这样做:

打印(r.text)

在这种情况下,使用此代码会产生一条错误消息:

调用 API 函数“files/list_folder”时出错:选择的用户 ID 格式无效

另一个问题是,对于 API v2,根路径应该指定为空字符串,"":

调用 API 函数“files/list_folder”时出错:请求正文:路径:将根文件夹指定为空字符串而不是“/”。

那是因为在使用 member file access 时像这样的功能,您应该提供成员(member) ID,而不是帐户 ID。

因此,解决这些问题后,工作代码如下所示:

import requests

url = "https://api.dropboxapi.com/2/files/list_folder"

headers = {
"Authorization": "Bearer MY_TOKEN",
"Dropbox-API-Select-User": "dbmid:MEMBER_ID"
}

data = {
"path": "",
}

r = requests.post(url, headers=headers, json=data)
print(r.text)
r.raise_for_status()
print(r.json())

编辑添加,如果要使用Dropbox API v2 Python SDK为此,您将使用 DropboxTeam.as_user像这样:

import dropbox

dbx_team = dropbox.DropboxTeam("MY_TOKEN")
dbx_user = dbx_team.as_user("dbmid:MEMBER_ID")

print(dbx_user.files_list_folder(""))

关于python - 400 客户端错误 : Bad Request for url: https://api. dropboxapi.com/2/files/list_folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42892053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com