如何使用Dropbox python API获取文件的链接?

时间:2016-11-23 01:27:07

标签: python dropbox-api

因此,当使用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.元数据每次获取元数据时都会发生变化。

1 个答案:

答案 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>应替换为您的访问令牌。