drive-proxy / app.py
soiz1's picture
Create app.py
774d1d7 verified
from flask import Flask, request, send_file, abort
import requests
import io
app = Flask(__name__)
@app.route('/', methods=['GET'])
def download_file():
# クエリパラメータからファイルIDを受け取る
file_id = request.args.get('file_id')
filename = request.args.get('filename', 'downloaded_file')
if not file_id:
return abort(400, description="file_idパラメータが必要です")
# Google DriveのダウンロードURL
url = f"https://drive.google.com/uc?export=download&id={file_id}"
response = requests.get(url)
if response.status_code == 200:
# レスポンス内容をメモリ上のファイルにする
file_stream = io.BytesIO(response.content)
return send_file(
file_stream,
as_attachment=True,
download_name=filename
)
else:
return abort(response.status_code, description="ファイルの取得に失敗しました")
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860, debug=True)