通过 Python 访问 Twitch API 时出现问题

Issues accessing Twitch API through Python

我正在尝试访问 Twitch API 以简单请求频道详细信息。尽管输入了我成功生成的 OAUTH 代码,但我始终遇到 401 Unauthorized 错误。我正在使用文档中的格式:

GET 'https://api.twitch.tv/helix/search/channels?query=a_seagull' \
--header 'client-id: wbmytr93xzw8zbg0p1izqyzzc5mbiz' \
--header 'Authorization: Bearer 2gbdx6oar67tqtcmt49t3wpcgycthx'

这是网站上写的。我已将其翻译成 Python:

import os
import requests

URL = "https://id.twitch.tv/oauth2/token"
CLIENT_ID = os.environ['CLIENT_ID']
CLIENT_SECRET = os.environ['CLIENT_SECRET']
GRANT_TYPE = "client_credentials"
PARAMS = {
  "client_id": CLIENT_ID,
  "client_secret": CLIENT_SECRET,
  "grant_type": GRANT_TYPE
}

r1 = requests.post(url = URL, params = PARAMS)

token = r1.json()["access_token"]


URL2 = "https://api.twitch.tv/helix/search/channels?query=reisu1337"
PARAMS2 = {
  "client_id": CLIENT_ID,
  "authorization": f"Bearer {token}"
}

r2 = requests.get(url = URL2, params = PARAMS2)

data = r2.json()

获取授权令牌的代码的第一部分工作正常,但在输入到后半部分时不被接受,出现以下错误:

{'error': 'Unauthorized', 'status': 401, 'message': 'OAuth token is missing'}

我的问题是如何让 API 接受授权令牌并处理我的请求。在此先感谢您的帮助:)

编辑 - 将 link 回复到 run/fork - https://replit.com/@reisu1337/TwitchAPICall

headers = {
    'Client-ID': client_id,
    'Authorization': 'Bearer ' + keys['access_token']
}

print(headers)

stream = requests.get('https://api.twitch.tv/helix/streams?user_login=' + streamer_name, headers=headers)

您需要传递 headers,而不是参数。