Так что я действительно не в духе RESTful. Я пытаюсь сделать что-то, что подписывается на действие / webhook (?) На twitch.tv, чтобы, если кто-то выходит в эфир, он знал.
Я хочу использовать этот веб-крючок здесь:
https://dev.twitch.tv/docs/api/webhooks-reference/#topic-stream-changed
Я создал сервер Flask в server.py
:
app = Flask(__name__)
@app.route('/', methods=['POST'])
def result():
print(request.data)
return 'Received'
иPOST, который я делаю, находится здесь в notify.py
:
import requests
r = requests.post("https://api.twitch.tv/helix/webhooks/hub", headers={'Client-ID': client_id}, data={"hub.callback": "http://127.0.0.1:5000/","hub.mode":"subscribe",'hub.topic':"https://api.twitch.tv/helix/streams?user_id=XXXXXX"})
Запуск моего кода ничего не показывает на сервере, даже Received
, поэтому я предполагаю, что я делаю что-то не так.
если я сделаю GET, на request = requests.get('https://api.twitch.tv/helix/streams?user_id=xxxxxx', headers={'Client-ID': client_id})
результат будет b ' '
, и я понятия не имею, что это значит
в notifiy.py
, помещая print(r)
возвращает <Response [202]>
, но я думаю, что хочу [200]
Я предполагаю, что Twitch должен быть доступен для моего сервера, чтобы увидеть его, но я не уверен.
Любая помощьоценили!