API dokumentatsioon
Loo Twitchi autoriseerimisvooge, vaata õigusi ja halda tokeneid v2 API kaudu.
Autoriseerimisvoog
- Vaata õiguste kataloogi ja vali oma integratsioonile vajalike aktiivsete õiguste ID-d.
- Loo voog. Hoia selle pärimisvõti privaatsena ja ava authorization_url konto omaniku brauseris.
- Pärast autoriseerimist päri mandaadid üks kord. Salvesta pääsutoken ja uusim värskendustoken.
Vood aeguvad 24 tunni pärast. Edukas pärimine kulutab salvestatud mandaadid. Ootel autoriseerimise kontrollimiste vahel oota vähemalt viis sekundit.
Autentimine ja piirangud
Mandaatide pärimiseks kasutatakse voo privaatvõtit Bearer-mandaadina. Teised lõpp-punktid kasutavad alltoodud sisendeid. V2 API lubab 180 päringut minutis ühe IP kohta; HTTP 429 tähendab limiidi täitumist.
Lõpp-punktide teatmik
GET /api/v2/scopes
Tokeni saadaolevad õigused
Vaata praeguste õiguste ID-sid, nimesid, kirjeldusi ja saadavust. See päring ei vaja mandaate.
Parameetrid
include_sensitiveValikulineboolean· päringLisa kataloogi tundlikuks märgitud õigused.
Vastus
HTTP 200- Edukas vastus
application/jsonNäidisvastus
{ "scopes": [ { "active": true, "api_set": "helix", "description": "View live Stream Chat and Rooms messages.", "id": 28, "scope": "chat:read", "secret": false } ], "success": true } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 503- Teenus pole ajutiselt saadaval
application/jsonNäidisvastus
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/workflows
Loo autoriseerimisvoog
Loob 24-tunnise voo TTG jagatud Twitchi rakendusega. Vastuses on avalik autoriseerimise URL ja privaatne pärimisvõti eraldi.
Parameetrid
ai_agentValikulinestring· kehaValikuline tehisintellekti kliendi nimi, kuni 64 UTF-8 baiti ilma juhtmärkideta. See on päritolu märkimiseks, mitte autentimiseks.
is_aiValikulineboolean· kehaMärgi voog tehisintellekti abiga toimuvaks.
redirect_urlValikulinestring· kehaValikuline täielik HTTP- või HTTPS-sihtaadress pärast autoriseerimist. URL ei tohi sisaldada mandaate.
scope_idsValikulinearray· kehaKataloogi numbrilised ID-d. Vali aktiivsed õigused, kuni 150 erinevat õigust.
titleValikulinestring· kehaRakenduse nimi, kuni 500 UTF-8 baiti.
Päringu JSON-keha
{
"scope_ids": [
28,
29
],
"title": "Example integration"
}
Vastus
HTTP 201- Loodud
application/jsonNäidisvastus
{ "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000", "expires_at": "2030-01-01T12:00:00Z", "id": "example0000000000000", "retrieval_key": "example000000000000000000000000000000000", "status_url": "https://twitchtokengenerator.com/api/v2/workflows/example0000000000000", "success": true } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Päringut ei saanud töödelda
application/jsonNäidisvastus
{ "message": "unable to process request", "success": false }
GET /api/v2/workflows/{id}
Päri voo mandaadid
Tagastab mandaadid ühe korra pärast autoriseerimist. Saada voo pärimisvõti Bearer-mandaadina. Edukas lugemine kulutab salvestatud mandaadid.
Parameetrid
idKohustuslikstring· teeVoo loomisel tagastatud ID.
AuthorizationKohustuslikBearer· päisVoo loomisel tagastatud privaatne pärimisvõti. Ära lisa seda avalikesse linkidesse.
Vastus
HTTP 200- Edukas vastus
application/jsonNäidisvastus
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "status": "authorized", "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 202- Autoriseerimine on veel ootel
application/jsonNäidisvastus
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- Vigane token või pärimisvõti
application/jsonNäidisvastus
{ "message": "invalid retrieval key", "success": false } HTTP 404- Voogu ei leitud
application/jsonNäidisvastus
{ "message": "workflow not found", "success": false } HTTP 410- Mandaadid on aegunud või juba päritud
application/jsonNäidisvastus
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Päringut ei saanud töödelda
application/jsonNäidisvastus
{ "message": "unable to process request", "success": false } HTTP 503- Teenus pole ajutiselt saadaval
application/jsonNäidisvastus
{ "message": "service temporarily unavailable", "success": false }
GET /api/v2/ai/workflows/create
Loo tehisintellekti voog GET-päringuga
GET-alternatiiv klientidele, mis saavad ainult URL-e lugeda. Loob voo õiguste nimede põhjal ja tagastab privaatse pärimis-URL-i. JSON-vastus antakse kujul text/plain.
Parameetrid
scopesKohustuslikstring· päringKomadega eraldatud õiguste nimed. Parameeter peab olema olemas; tühi väärtus ei taotle õigusi.
ai_agentValikulinestring· päringValikuline tehisintellekti kliendi nimi, kuni 64 UTF-8 baiti ilma juhtmärkideta. See on päritolu märkimiseks, mitte autentimiseks.
nonceValikulinestring· päringValikuline vahemälust möödumise väärtus, kuni 128 UTF-8 baiti. See pole idempotentsusvõti.
Vastus
HTTP 200- Edukas vastus
text/plainNäidisvastus
{ "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000", "expires_at": "2030-01-01T12:00:00Z", "id": "example0000000000000", "retrieval_notice": "Keep retrieval_url private: it grants one-time access to the generated credentials. Give the user only authorization_url. Retrieve after they finish authorizing.", "retrieval_url": "https://twitchtokengenerator.com/api/v2/ai/workflows/example0000000000000/example000000000000000000000000000000000", "success": true } HTTP 400- Vigane päring
text/plainNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
text/plainNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Päringut ei saanud töödelda
text/plainNäidisvastus
{ "message": "unable to process request", "success": false }
GET /api/v2/ai/workflows/{id}/{key}
Päri tehisintellekti mandaadid GET-päringuga
GET-alternatiiv, mille pärimisvõti asub URL-is. JSON-vastus antakse kujul text/plain. Edukas lugemine kulutab salvestatud mandaadid.
Parameetrid
idKohustuslikstring· teeVoo loomisel tagastatud ID.
keyKohustuslikstring· teeVoo loomisel tagastatud privaatne pärimisvõti. Ära lisa seda avalikesse linkidesse.
Vastus
HTTP 200- Edukas vastus
text/plainNäidisvastus
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "status": "authorized", "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 202- Autoriseerimine on veel ootel
text/plainNäidisvastus
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- Vigane token või pärimisvõti
text/plainNäidisvastus
{ "message": "invalid retrieval key", "success": false } HTTP 404- Voogu ei leitud
text/plainNäidisvastus
{ "message": "workflow not found", "success": false } HTTP 410- Mandaadid on aegunud või juba päritud
text/plainNäidisvastus
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- Päringulimiit on täis
text/plainNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Päringut ei saanud töödelda
text/plainNäidisvastus
{ "message": "unable to process request", "success": false } HTTP 503- Teenus pole ajutiselt saadaval
text/plainNäidisvastus
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/tokens/refresh
Värskenda pääsutokenit
Uuendab pääsutokenit värskendustokeni abil. Oma Twitchi rakenduse tokeni puhul anna nii client_id kui ka client_secret.
Parameetrid
client_idValikulinestring· kehaTwitchi rakenduse kliendi-ID. TTG jagatud rakenduse kasutamiseks jäta see välja.
client_secretValikulinestring· kehaTwitchi rakenduse kliendisaladus. Värskendamisel anna see koos client_id väärtusega.
refresh_tokenKohustuslikstring· kehaKonto ja Twitchi rakenduse uusim värskendustoken.
Päringu JSON-keha
{
"refresh_token": "EXAMPLE_REFRESH_TOKEN"
}
Vastus
HTTP 200- Edukas vastus
application/jsonNäidisvastus
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "expires_in": 3600, "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "success": true } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitchi päring ebaõnnestus
application/jsonNäidisvastus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/revoke
Tühista oma pääsutoken
Muudab antud pääsutokeni kehtetuks. Anna selle rakenduse client_id, kui tegemist pole TTG jagatud rakendusega.
Parameetrid
access_tokenKohustuslikstring· kehaKontrollitav või tühistatav Twitchi pääsutoken ilma oauth: eesliiteta.
client_idValikulinestring· kehaTwitchi rakenduse kliendi-ID. TTG jagatud rakenduse kasutamiseks jäta see välja.
Päringu JSON-keha
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
Vastus
HTTP 200- Edukas vastus
application/jsonNäidisvastus
{ "success": true } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitchi päring ebaõnnestus
application/jsonNäidisvastus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/validate
Kontrolli tokenit
Näitab tokeni kontot, rakendust, antud õigusi ja järelejäänud kehtivusaega.
Parameetrid
access_tokenKohustuslikstring· kehaKontrollitav või tühistatav Twitchi pääsutoken ilma oauth: eesliiteta.
Päringu JSON-keha
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
Vastus
HTTP 200- Edukas vastus
application/jsonNäidisvastus
{ "client_id": "EXAMPLE_CLIENT_ID", "expires_in": 3600, "scope_details": [ { "active": true, "api_set": "helix", "description": "View live Stream Chat and Rooms messages.", "id": 28, "scope": "chat:read", "secret": false } ], "scopes": [ "chat:read" ], "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 401- Vigane token või pärimisvõti
application/jsonNäidisvastus
{ "message": "invalid retrieval key", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitchi päring ebaõnnestus
application/jsonNäidisvastus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/quick-links
Kiirlingi generaator
Loob korduskasutatava lingi valitud õiguste ID-dega. auth=stay avab generaatori; auth=authorize alustab Twitchi autoriseerimist.
Parameetrid
authValikulinestring· kehastay avab generaatori. authorize ja ühilduvusalias auth_auth alustavad autoriseerimist kohe.
scope_idsValikulinearray· kehaKataloogi numbrilised ID-d. Vali aktiivsed õigused, kuni 150 erinevat õigust.
Päringu JSON-keha
{
"auth": "stay",
"scope_ids": [
28,
29
]
}
Vastus
HTTP 201- Loodud
application/jsonNäidisvastus
{ "id": "example000", "success": true, "url": "https://twitchtokengenerator.com/quick/example000" } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Päringut ei saanud töödelda
application/jsonNäidisvastus
{ "message": "unable to process request", "success": false }
POST /api/v2/token-requests
Taotle kasutajalt tokenit
Loob autoriseerimistaotluse lingi. Pärast konto omaniku autoriseerimist saadetakse mandaadid aadressile my_email.
Parameetrid
my_emailKohustuslikstring· kehaE-posti aadress, kuhu mandaadid saadetakse pärast taotluse täitmist.
my_nameKohustuslikstring· kehaTaotleja nimi, kuni 128 UTF-8 baiti.
scope_idsValikulinearray· kehaKataloogi numbrilised ID-d. Vali aktiivsed õigused, kuni 150 erinevat õigust.
Päringu JSON-keha
{
"my_email": "developer@example.com",
"my_name": "Example developer",
"scope_ids": [
28,
29
]
}
Vastus
HTTP 201- Loodud
application/jsonNäidisvastus
{ "id": "example-request", "success": true, "url": "https://twitchtokengenerator.com/request/example-request" } HTTP 400- Vigane päring
application/jsonNäidisvastus
{ "message": "invalid request", "success": false } HTTP 429- Päringulimiit on täis
application/jsonNäidisvastus
{ "message": "rate limit exceeded", "success": false }
Ühilduvus varasema API-ga
Olemasolevad /api/ marsruudid on jätkuvalt toetatud. Uute integratsioonide jaoks kasuta v2 lõpp-punkte; vastuste vormingud ja mandaatide pärimise autentimine erinevad.
| Varasem marsruut | V2 asendus |
|---|---|
GET /api/scopes/{type} | GET /api/v2/scopes |
GET /api/create/{title}/{scopes} | POST /api/v2/workflows |
GET /api/status/{id} | GET /api/v2/workflows/{id} |
GET /api/forgot/{token} | POST /api/v2/tokens/validate |
GET /api/refresh/{token} | POST /api/v2/tokens/refresh |
GET /api/revoke/{token} | POST /api/v2/tokens/revoke |