2016-11-23 30 views
2

したがって、Python版で「ファイルをダウンロードする」ときにDropbox APIが奇妙です。ファイルに関するメタデータを提供しますが、実際にはファイルをダウンロードしません。どちらがの奇妙な APIドキュメントを考慮すると、files_download(path)は、単にメタデータを取得したときにDropboxからファイルをダウンロードすると言っています。Dropbox python APIを使用してファイルのリンクを取得するにはどうすればよいですか?

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

'k.link'または' k.link() 'を試したことがありますか? – sal

答えて

2

files_get_temporary_linkメソッドは、GetTemporaryLinkResultを返します。その方法は、ファイルへのリンクを返すこと

result = dbx.files_get_temporary_link(filePath) 

print(result.link) 

注:SALはコメントとして、あなたはこのように、そのオブジェクトからlinkにアクセスするために.linkを使用することができます。あなたは直接ファイルの内容にアクセスしたい場合は、以下のように、あなたがfiles_downloadを使用することができます。

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) 

をこれは、ローカルファイルPrime_Numbers.txtへのリモートパス/Homework/math/Prime_Numbers.txtでのDropbox APIからファイルをダウンロードするDropbox Python SDKを使用しています

<ACCESS_TOKEN>をアクセストークンに置き換える必要があります。

関連する問題