使用权限header下载后保存m4a文件

Save m4a file after using authorization header to download

我正在尝试从 Zoom 云下载录制的 Zoom 会议的 m4a 文件。 Here 是关于我正在引用的已完成录制 webhook 的 Zoom 文档。具体来说,我正在尝试实现 Zoom 在其架构解释中描述 download_token 的部分。

这是我目前拥有的:

from flask import Flask, request
import sys
import pprint
pp = pprint.PrettyPrinter(indent=2)

import requests

app = Flask(__name__)
@app.route('/notification/', methods = ['GET', 'POST'])
def notification():
    if request.method == 'POST':
        content = request.json
        # pp.pprint(content)
        if content['event'] == 'recording.completed':
            process_recording(content['download_token'], content['payload']['object']['recording_files'])
    return 'This should be where the webhook sends info to'

def process_recording(download_token, recordings_list):
    recording = next(
                (recording for recording in recordings_list if recording["recording_type"] == 'audio_only'),
                None)
    
    url = recording['download_url']
    headers = {
        'content-type': 'application/json',
        'authorization': 'Bearer ' + download_token + ' --header content-type:'
    }

    response = requests.get(url, headers=headers)

    if response:
        print('Success!')
    else:
        print('An error has occurred.')

我是否正确转换了 curl 命令? curl 命令应采用以下格式:

curl --request GET \
  --url (download_url) \
  --header 'authorization: Bearer (download_token) \
  --header 'content-type: application/json'

另外,m4a文件如何保存?我的 response 变量到底存储了什么?

你的header错了...

比较...

    headers = {
        'content-type': 'application/json',
        'authorization': 'Bearer ' + download_token + ' --header content-type:'
    }

  --header 'authorization: Bearer (download_token) \
  --header 'content-type: application/json'

authorization header 的值应该是

"Bearer (%s)" % download_token

f"Bearer ({download_token})"

如果您使用 Python 3.6 或更高版本。