IT Projekte / Home Lab / Smart Home / Games

Allgemein, Streaming

Twitch Anwendung anlegen 2023

Im Folgenden möchte ich Dir zeigen, wie Du in Twitch Deine eigene Anwendung anlegt und die passenden Token generieren kannst. Diese Anwendung wird zum Beispiel für einen Chatbot benötigt.

Du benötigst Folgendes:

  • Twitch Developer Account

1. Twitch Anwendung erstellen

Zuerst musst Du Dich bei dev.twitch.tv anmelden, mit einem Twitch Account, den Du zum Beispiel als Chatbot nutzen möchtest.

Twitch Anwendung - Twitch Kanal als Developer Kanal autorisieren
Twitch Anwendung – Twitch Kanal als Developer Kanal autorisieren

Um die Anwendung anzulegen, gehe oben rechts auf ‘Your Console’ / ‘Deine Konsole’.

Wechsel im Anschluss auf der linken Seite zu Anwendungen.

Twitch Anwendung - Anwendungen öffnen
Twitch Anwendung – Anwendungen öffnen

Füge jetzt eine neue Anwendung hinzu über den Button ‘Deine Anwendung registrieren’.

Twitch Anwendung - Anwendung registrieren
Twitch Anwendung – Anwendung registrieren

Vergebe einen Namen, der einzigartig ist, da Deine Anwendung auf der Verbindungsseite der Nutzer aufgeführt wird.
OAuth Redirect URLs, das darf zu Beginn zum Testen der localhost sein.
Und die Kategorie ist der Chat Bot zum Beispiel.

Erstelle zum Ende Deine Anwendung.

Twitch Anwendung - Anwendung registrieren
Twitch Anwendung – Anwendung registrieren

Erhältst Du folgende Fehlermeldung, dann musst Du noch Deine Zwei-Faktor-Authentifizierung für diesen Account einrichten. Dafür musst Du Deine Handynummer im Account mit angeben und die Zwei-Faktor-Authentifizierung einrichten.

Twitch Anwendung - Zwei-Faktor-Authentifizierung
Twitch Anwendung – Zwei-Faktor-Authentifizierung

Nachdem die Anwendung angelegt ist, gehe nochmal rein über verwalten.

Twitch Anwendung - Anwendung verwalten
Twitch Anwendung – Anwendung verwalten

Hier siehst Du die Client-ID und auch das Client-Geheimnis. Das Client-Geheimnis muss einmal generiert werden über ‘Neues Geheimnis’. Also gut speichern, wenn Du es Dir anzeigen lassen willst. Auch wichtig, niemals die Client-ID oder das Geheimnis teilen mit anderen oder öffentlich zugänglich machen!

Twitch Anwendung - Client-ID und Client-Secret
Twitch Anwendung – Client-ID und Client-Secret

Scopes

Schaue hier für Deine benötigten Scopes vorbei und wähle, welche Scopes Du Deiner Anwendung zuweisen möchtest. Beachte, dass Du einen Doppelpunkt (:) in der URL mit einem %3A ersetzen musst. Hast Du mehrere Scopes, dann kannst Du sie mit einem Plus (+) miteinander verknüpfen.

Zum Beispiel für unseren Bot benötigen wir diese Scopes:

scope=chat%3Aread+chat%3Aedit

Erstelle einen Autorisierung-Token / Authorize Token

Führe mit Deiner Client-ID einmal folgende URL in Deinem Browser aus, um an einen Autorisierung Token zu gelangen.

https://id.twitch.tv/oauth2/authorize
?response_type=token
&client_id=<CLIENT-ID>
&redirect_uri=http://localhost
&scope=chat%3Aread+chat%3Aedit
&state=c3ab8aa609ea11e793ae92361f002671

Im Browser wirst Du dazu aufgefordert, dass Deine Anwendung die Erlaubnis erhält, auf Dein Konto zugreifen zu dürfen.

Twitch Anwendung – Zugriff erlauben

Als Rückmeldung erhältst Du nun einen Access Token mit dem angeforderten Scope und dem entsprechenden Token Type zurück. Speichere Dir diesen gut ab und verliere ihn nicht. Ansonsten kannst Du auch die URL ein weiteres Mal ausführen.

http://localhost/
#access_token=<HIER_STEHT_DEIN_AUTHORIZE_TOKEN>
&scope=chat%3Aread+chat%3Aedit
&state=c3ab8aa609ea11e793ae92361f002671
&token_type=bearer

Im Nachgang führst Du die URL nochmal aus, dieses Mal jedoch mit dem Response Type Code, um jetzt den wichtigen Autorisierungs Code zurückzubekommen.

https://id.twitch.tv/oauth2/authorize
?response_type=code
&client_id=<CLIENT-ID>
&redirect_uri=http://localhost
&scope=chat%3Aread+chat%3Aedit
&state=c3ab8aa609ea11e793ae92361f002671

Als Rückmeldung kommt der Code zurück. Mit diesem kannst Du Dich dann wiederum nochmal mit einer anderen URL melden, um am Ende Deinen Access Token und Refresh Token zu erhalten

http://localhost/
?code=<HIER_STEHT_DEIN_AUTHORIZE_CODE>
&scope=chat%3Aread+chat%3Aedit
&state=c3ab8aa609ea11e793ae92361f002671

Den Access als auch Refresh Token bekommst Du mit folgendem CURL Befehl.

curl -X POST 'https://id.twitch.tv/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=<CLIENT-ID>&client_secret=<CLIENT-SECRET>&code=<DEIN_AUTHORIZE_CODE_HIER>&grant_type=authorization_code&redirect_uri=http://localhost'

Setze Deine Client-ID, Dein Client Secret und Deinen Authorize Code ein und führe das Ganze im Terminal aus. Unter Windows ist curl vorinstalliert, falls es bei Dir nicht zur Verfügung steht, musst Du einmal nach schauen, wie Du es bei Dir installierst.

Falls es zu Problemen bei der Ausführung kommt, dann führe es zum Beispiel in der Software Postman oder in einer Linux Konsole aus.

Also Response bekommst Du Deinen Access Token, wie viele Sekunden dieser gültig ist und Deinen Refresh Token.

access_token":"DEIN_ACCESS_TOKEN","expires_in":14812,"refresh_token":"DEIN_REFRESH_TOKEN","scope":["chat:edit","chat:read"],"token_type":"bearer"}

Refresh Token

Sollte Dein Access Token mal abgelaufen sein, dann führe den folgenden CURL Befehl aus, mit Deinem Refresh Token, Deiner Client-ID und Deinem Client-Secret, um einen neuen Access Token zu erhalten.

curl -X POST https://id.twitch.tv/oauth2/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=refresh_token&refresh_token=<REFRESH-TOKEN>&client_id=<CLIENT-ID>&client_secret=<CLIENT-SECRET>'

Alternativ kannst Du Dich auch einfach noch mal autorisieren, dann solltest Du einen neuen Access Token erhalten.

Quellen:

Titelbild von Twitch