因此,当使用Python版“下载文件”时,Dropbox API很奇怪。它提供了有关该文件的元数据,但实际上并未下载该文件。哪个很奇怪考虑到他们的API文档说files_download(path)说它会在获取元数据时从Dropbox下载文件。
k = dbx.files_get_temporary_link('/' + str(message))
这是一行代码,它将绕过files_download但元数据停止的地方,更多的开始。跑步时,它会抛弃这个类:
GetTemporaryLinkResult(metadata=FileMetadata(name='buiEKTw.png', id='id:8ZPbLGM5GIAAAAAAAAAACg', client_modified=datetime.datetime(2016, 11, 22, 1, 26, 27), server_modified=datetime.datetime(2016, 11, 22, 1, 26, 27), rev='e5047428b', size=905, path_lower='/buiektw.png', path_display='/buiEKTw.png', parent_shared_folder_id=None, media_info=None, sharing_info=None, property_groups=None, has_explicit_shared_members=None), link='https://dl.dropboxusercontent.com/apitl/1/AAAzE5ljMmZZ8jxjcKAh_uIym9Hy7tfC4Z67zvzMpakZDqhoje2BgXE9bTz1-dyy2QIuQJbJKiVfD1RvY4PI4AS1sPhTDRSgqpXMU7XBasZ_gw5lNEpyGiYM-m5lQDozXf6oP7WAJjb1NqwRlQuPfRHpsJq7PRn4alBddVdzb6MZTyBdlvzd55hcxqhbU3d9o84mOR9qGh3zl6rSzYUWbhr7RoQVscpq2qug-lnTelc9eQ')
我只想在类/元数据末尾的链接,我似乎无法得到它。链接本身是280个字符,引号是282.元数据每次获取元数据时都会发生变化。
答案 0 :(得分:3)
files_get_temporary_link
方法返回GetTemporaryLinkResult
。正如sal评论的那样,您可以使用.link
从该对象访问link
,如下所示:
result = dbx.files_get_temporary_link(filePath)
print(result.link)
请注意,该方法会返回指向该文件的链接。如果您想直接访问文件内容,可以使用files_download
,如下所示:
这使用Dropbox Python SDK从远程路径/Homework/math/Prime_Numbers.txt
的Dropbox API下载文件到本地文件Prime_Numbers.txt
:
import dropbox
dbx = dropbox.Dropbox("<ACCESS_TOKEN>")
with open("Prime_Numbers.txt", "wb") as f:
metadata, res = dbx.files_download(path="/Homework/math/Prime_Numbers.txt")
f.write(res.content)
<ACCESS_TOKEN>
应替换为您的访问令牌。