API-ohjeet
Luo Twitch-valtuutuksia, tarkista oikeuksia ja hallitse tokeneita v2-rajapinnalla.
Valtuutuksen kulku
- Tutustu oikeusluetteloon ja valitse integraatiosi tarvitsemien aktiivisten oikeuksien tunnisteet.
- Luo valtuutusprosessi. Pidä sen noutoavain yksityisenä ja avaa authorization_url tilin omistajan selaimessa.
- Nouda tunnistetiedot kerran valtuutuksen jälkeen. Tallenna käyttöoikeustoken ja uusin päivitystoken.
Prosessit vanhenevat 24 tunnissa. Onnistunut nouto kuluttaa tallennetut tunnistetiedot. Odota vähintään viisi sekuntia keskeneräisen valtuutuksen tarkistusten välillä.
Todennus ja rajoitukset
Noudossa käytetään prosessin yksityistä avainta Bearer-tunnisteena. Muut päätepisteet käyttävät alla näkyviä tietoja. V2-rajapinta sallii 180 pyyntöä minuutissa IP-osoitetta kohden; HTTP 429 tarkoittaa rajan ylittymistä.
Päätepisteiden viite
GET /api/v2/scopes
Tokenin käytettävissä olevat oikeudet
Lue nykyisten oikeuksien tunnisteet, nimet, kuvaukset ja saatavuus. Pyyntö ei vaadi tunnistetietoja.
Parametrit
include_sensitiveValinnainenboolean· kyselySisällytä luettelon arkaluonteisiksi merkityt oikeudet.
Vastaus
HTTP 200- Onnistunut vastaus
application/jsonEsimerkkivastaus
{ "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- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 503- Palvelu on tilapäisesti poissa käytöstä
application/jsonEsimerkkivastaus
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/workflows
Luo valtuutusprosessi
Luo 24 tuntia kestävän prosessin TTG:n jaetun Twitch-sovelluksen kautta. Vastauksessa julkinen valtuutusosoite ja yksityinen noutoavain ovat erillään.
Parametrit
ai_agentValinnainenstring· runkoValinnainen tekoälyasiakkaan nimi, enintään 64 UTF-8-tavua ilman ohjausmerkkejä. Käytetään alkuperän nimeämiseen, ei todennukseen.
is_aiValinnainenboolean· runkoMerkitse prosessi tekoälyavusteiseksi.
redirect_urlValinnainenstring· runkoValinnainen täydellinen HTTP- tai HTTPS-kohde valtuutuksen jälkeen. URL-osoite ei saa sisältää tunnistetietoja.
scope_idsValinnainenarray· runkoLuettelon numeeriset tunnisteet. Valitse aktiivisia oikeuksia, enintään 150 erilaista.
titleValinnainenstring· runkoSovelluksen nimi, enintään 500 UTF-8-tavua.
Pyynnön JSON-runko
{
"scope_ids": [
28,
29
],
"title": "Example integration"
}
Vastaus
HTTP 201- Luotu
application/jsonEsimerkkivastaus
{ "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- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Pyyntöä ei voitu käsitellä
application/jsonEsimerkkivastaus
{ "message": "unable to process request", "success": false }
GET /api/v2/workflows/{id}
Nouda prosessin tunnistetiedot
Palauttaa tunnistetiedot kerran valtuutuksen jälkeen. Lähetä prosessin noutoavain Bearer-tunnisteena. Onnistunut luku kuluttaa tallennetut tunnistetiedot.
Parametrit
idPakollinenstring· polkuProsessin luonnin yhteydessä palautettu tunniste.
AuthorizationPakollinenBearer· otsakeProsessin luonnissa palautettu yksityinen noutoavain. Älä sisällytä sitä julkisiin linkkeihin.
Vastaus
HTTP 200- Onnistunut vastaus
application/jsonEsimerkkivastaus
{ "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- Valtuutus on vielä kesken
application/jsonEsimerkkivastaus
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- Virheellinen token tai noutoavain
application/jsonEsimerkkivastaus
{ "message": "invalid retrieval key", "success": false } HTTP 404- Prosessia ei löydy
application/jsonEsimerkkivastaus
{ "message": "workflow not found", "success": false } HTTP 410- Tunnistetiedot vanhenivat tai ne on jo noudettu
application/jsonEsimerkkivastaus
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Pyyntöä ei voitu käsitellä
application/jsonEsimerkkivastaus
{ "message": "unable to process request", "success": false } HTTP 503- Palvelu on tilapäisesti poissa käytöstä
application/jsonEsimerkkivastaus
{ "message": "service temporarily unavailable", "success": false }
GET /api/v2/ai/workflows/create
Luo vain GET-pyyntöjä käyttävä tekoälyprosessi
GET-vaihtoehto asiakkaille, jotka voivat vain lukea URL-osoitteita. Luo prosessin oikeuksien nimillä ja palauttaa yksityisen nouto-osoitteen. JSON-vastaus tarjotaan muodossa text/plain.
Parametrit
scopesPakollinenstring· kyselyPilkuin erotetut oikeuksien nimet. Parametri on annettava; tyhjä arvo ei pyydä oikeuksia.
ai_agentValinnainenstring· kyselyValinnainen tekoälyasiakkaan nimi, enintään 64 UTF-8-tavua ilman ohjausmerkkejä. Käytetään alkuperän nimeämiseen, ei todennukseen.
nonceValinnainenstring· kyselyValinnainen välimuistin ohittava arvo, enintään 128 UTF-8-tavua. Se ei ole idempotenssiavain.
Vastaus
HTTP 200- Onnistunut vastaus
text/plainEsimerkkivastaus
{ "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- Virheellinen pyyntö
text/plainEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
text/plainEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Pyyntöä ei voitu käsitellä
text/plainEsimerkkivastaus
{ "message": "unable to process request", "success": false }
GET /api/v2/ai/workflows/{id}/{key}
Nouda tekoälyn tunnistetiedot GET-pyynnöllä
GET-vaihtoehto, jossa noutoavain on URL-osoitteessa. JSON-vastaus tarjotaan muodossa text/plain. Onnistunut luku kuluttaa tallennetut tunnistetiedot.
Parametrit
idPakollinenstring· polkuProsessin luonnin yhteydessä palautettu tunniste.
keyPakollinenstring· polkuProsessin luonnissa palautettu yksityinen noutoavain. Älä sisällytä sitä julkisiin linkkeihin.
Vastaus
HTTP 200- Onnistunut vastaus
text/plainEsimerkkivastaus
{ "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- Valtuutus on vielä kesken
text/plainEsimerkkivastaus
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- Virheellinen token tai noutoavain
text/plainEsimerkkivastaus
{ "message": "invalid retrieval key", "success": false } HTTP 404- Prosessia ei löydy
text/plainEsimerkkivastaus
{ "message": "workflow not found", "success": false } HTTP 410- Tunnistetiedot vanhenivat tai ne on jo noudettu
text/plainEsimerkkivastaus
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- Pyyntöraja saavutettu
text/plainEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Pyyntöä ei voitu käsitellä
text/plainEsimerkkivastaus
{ "message": "unable to process request", "success": false } HTTP 503- Palvelu on tilapäisesti poissa käytöstä
text/plainEsimerkkivastaus
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/tokens/refresh
Päivitä käyttöoikeustunnus
Uudistaa käyttöoikeustokenin päivitystokenilla. Anna sekä client_id että client_secret, jos token kuuluu omaan Twitch-sovellukseesi.
Parametrit
client_idValinnainenstring· runkoTwitch-sovelluksen asiakastunniste. Jätä pois käyttääksesi TTG:n jaettua sovellusta.
client_secretValinnainenstring· runkoTwitch-sovelluksen asiakassalaisuus. Anna päivityspyynnössä yhdessä client_id-arvon kanssa.
refresh_tokenPakollinenstring· runkoTilin ja Twitch-sovelluksen uusin päivitystoken.
Pyynnön JSON-runko
{
"refresh_token": "EXAMPLE_REFRESH_TOKEN"
}
Vastaus
HTTP 200- Onnistunut vastaus
application/jsonEsimerkkivastaus
{ "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- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch-pyyntö epäonnistui
application/jsonEsimerkkivastaus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/revoke
Mitätöi käyttöoikeustunnuksesi
Mitätöi annetun käyttöoikeustokenin. Anna tokenin sovelluksen client_id, jos kyseessä ei ole TTG:n jaettu sovellus.
Parametrit
access_tokenPakollinenstring· runkoTarkistettava tai peruutettava Twitch-käyttöoikeustoken ilman oauth:-etuliitettä.
client_idValinnainenstring· runkoTwitch-sovelluksen asiakastunniste. Jätä pois käyttääksesi TTG:n jaettua sovellusta.
Pyynnön JSON-runko
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
Vastaus
HTTP 200- Onnistunut vastaus
application/jsonEsimerkkivastaus
{ "success": true } HTTP 400- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch-pyyntö epäonnistui
application/jsonEsimerkkivastaus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/validate
Tarkista token
Näyttää tokenin tilin, sovelluksen, myönnetyt oikeudet ja jäljellä olevan voimassaoloajan.
Parametrit
access_tokenPakollinenstring· runkoTarkistettava tai peruutettava Twitch-käyttöoikeustoken ilman oauth:-etuliitettä.
Pyynnön JSON-runko
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
Vastaus
HTTP 200- Onnistunut vastaus
application/jsonEsimerkkivastaus
{ "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- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 401- Virheellinen token tai noutoavain
application/jsonEsimerkkivastaus
{ "message": "invalid retrieval key", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch-pyyntö epäonnistui
application/jsonEsimerkkivastaus
{ "message": "Twitch request failed", "success": false }
POST /api/v2/quick-links
Pikalinkkien luonti
Luo uudelleenkäytettävän linkin valituilla oikeustunnisteilla. auth=stay avaa generaattorin; auth=authorize aloittaa Twitch-valtuutuksen.
Parametrit
authValinnainenstring· runkostay avaa generaattorin. authorize ja yhteensopivuusalias auth_auth aloittavat valtuutuksen heti.
scope_idsValinnainenarray· runkoLuettelon numeeriset tunnisteet. Valitse aktiivisia oikeuksia, enintään 150 erilaista.
Pyynnön JSON-runko
{
"auth": "stay",
"scope_ids": [
28,
29
]
}
Vastaus
HTTP 201- Luotu
application/jsonEsimerkkivastaus
{ "id": "example000", "success": true, "url": "https://twitchtokengenerator.com/quick/example000" } HTTP 400- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false } HTTP 500- Pyyntöä ei voitu käsitellä
application/jsonEsimerkkivastaus
{ "message": "unable to process request", "success": false }
POST /api/v2/token-requests
Pyydä token käyttäjältä
Luo valtuutuspyyntölinkin. Kun tilin omistaja suorittaa valtuutuksen, tunnistetiedot lähetetään osoitteeseen my_email.
Parametrit
my_emailPakollinenstring· runkoSähköpostiosoite, johon tunnistetiedot toimitetaan pyynnön valmistuttua.
my_namePakollinenstring· runkoPyytäjän nimi, enintään 128 UTF-8-tavua.
scope_idsValinnainenarray· runkoLuettelon numeeriset tunnisteet. Valitse aktiivisia oikeuksia, enintään 150 erilaista.
Pyynnön JSON-runko
{
"my_email": "developer@example.com",
"my_name": "Example developer",
"scope_ids": [
28,
29
]
}
Vastaus
HTTP 201- Luotu
application/jsonEsimerkkivastaus
{ "id": "example-request", "success": true, "url": "https://twitchtokengenerator.com/request/example-request" } HTTP 400- Virheellinen pyyntö
application/jsonEsimerkkivastaus
{ "message": "invalid request", "success": false } HTTP 429- Pyyntöraja saavutettu
application/jsonEsimerkkivastaus
{ "message": "rate limit exceeded", "success": false }
Yhteensopivuus vanhan API:n kanssa
Nykyiset /api/-reitit ovat edelleen tuettuja. Käytä uusissa integraatioissa v2-päätepisteitä; vastausmuodot ja noudon todennus eroavat.
| Vanha reitti | V2-korvaaja |
|---|---|
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 |