9

現在、コードのアップロード部分が機能していますが、これをボックス フォルダからそれぞれのファイルをダウンロードするプログラムに変換するにはどうすればよいですか?

これはアップロードプログラムです:

import requests
import json

#the user acces token
access_token =  'UfUNeHhv4gIxFCn5WEXHgBJwfG8gHT2o'
#the name of the file as you want it to appear in box
dst_filename = 'box_file'
#the actual file path
src_directory = 'C:\Python\cache\\'
#the name of the file to be transferred
src_filename = 'Wildlife.wmv'
#the id of the folder you want to upload to
parent_id = '0'
counter = 1

for counter in range(1, 6):
  src_file = (src_directory + src_filename + '-' + str(counter))
  print(src_file)
  box_filename = (dst_filename + '-' + str(counter))
  headers = { 'Authorization': 'Bearer {0}'.format(access_token)}
  url = 'https://upload.box.com/api/2.0/files/content'
  #open(src_file,'rb') - opens the source file with the buffered reader
  files = { 'filename': (box_filename, open(src_file,'rb')) }
  data = { "parent_id": parent_id }
  response = requests.post(url, data=data, files=files, headers=headers)
  #file_info = response.json()
  #print(file_info)
  print(response)
  print(url, data, files, headers)
  counter = counter + 1

これは、ファイルをダウンロードするために Box API ドキュメントで提供されるサンプルの curl 要求です。

curl -L https://api.box.com/2.0/files/FILE_ID/content \
-H "Authorization: Bearer ACCESS_TOKEN" \
-o FILE_PATH/file_name.txt

この質問のパート 2: ファイルの名前に関係なく、フォルダー内のすべてのファイルを処理するように、このプログラム (およびダウンロード プログラム) を変更する方法はありますか?

私はプログラミングが初めてなので、この分野のスキルや知識が不足していることをご容赦ください。

4

4 に答える 4

5

Box SDKをご覧になることをお勧めします

ドキュメントでわかるように、クライアントで認証した後は、次の行を実行するだけです。

client.file(file_id='SOME_FILE_ID').content()

詳細については、Box SDK ドキュメントを参照してください。独自の Box SDK を作成したいために、これでニーズが満たされない場合は、別の人が問題に対して具体的な回答をするまでお待ちください。ありがとう。

于 2015-04-12T20:36:10.437 に答える