如何解决通过 Python 访问 Twitch API 的问题
我正在尝试访问 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 接受身份验证令牌并处理我的请求。在此先感谢您的帮助:)
编辑 - 运行/分叉的 Repl 链接 - 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)
您需要传递标题,而不是参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。