API-ohjeet

Luo Twitch-valtuutuksia, tarkista oikeuksia ja hallitse tokeneita v2-rajapinnalla.

Lataa OpenAPI

Valtuutuksen kulku

  1. Tutustu oikeusluetteloon ja valitse integraatiosi tarvitsemien aktiivisten oikeuksien tunnisteet.
  2. Luo valtuutusprosessi. Pidä sen noutoavain yksityisenä ja avaa authorization_url tilin omistajan selaimessa.
  3. 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_sensitiveValinnainen

boolean · kysely

Sisällytä luettelon arkaluonteisiksi merkityt oikeudet.

Vastaus

HTTP 200
Onnistunut vastaus
application/json
Esimerkkivastaus
{
  "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/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 503
Palvelu on tilapäisesti poissa käytöstä
application/json
Esimerkkivastaus
{
  "message": "service temporarily unavailable",
  "success": false
}
Kokeile päätepistettä
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_agentValinnainen

string · runko

Valinnainen tekoälyasiakkaan nimi, enintään 64 UTF-8-tavua ilman ohjausmerkkejä. Käytetään alkuperän nimeämiseen, ei todennukseen.

is_aiValinnainen

boolean · runko

Merkitse prosessi tekoälyavusteiseksi.

redirect_urlValinnainen

string · runko

Valinnainen täydellinen HTTP- tai HTTPS-kohde valtuutuksen jälkeen. URL-osoite ei saa sisältää tunnistetietoja.

scope_idsValinnainen

array · runko

Luettelon numeeriset tunnisteet. Valitse aktiivisia oikeuksia, enintään 150 erilaista.

titleValinnainen

string · runko

Sovelluksen nimi, enintään 500 UTF-8-tavua.

Pyynnön JSON-runko

{
  "scope_ids": [
    28,
    29
  ],
  "title": "Example integration"
}

Vastaus

HTTP 201
Luotu
application/json
Esimerkkivastaus
{
  "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/json
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Pyyntöä ei voitu käsitellä
application/json
Esimerkkivastaus
{
  "message": "unable to process request",
  "success": false
}
Kokeile päätepistettä
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

idPakollinen

string · polku

Prosessin luonnin yhteydessä palautettu tunniste.

AuthorizationPakollinen

Bearer · otsake

Prosessin luonnissa palautettu yksityinen noutoavain. Älä sisällytä sitä julkisiin linkkeihin.

Vastaus

HTTP 200
Onnistunut vastaus
application/json
Esimerkkivastaus
{
  "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/json
Esimerkkivastaus
{
  "expires_at": "2030-01-01T12:00:00Z",
  "status": "pending",
  "success": false
}
HTTP 401
Virheellinen token tai noutoavain
application/json
Esimerkkivastaus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 404
Prosessia ei löydy
application/json
Esimerkkivastaus
{
  "message": "workflow not found",
  "success": false
}
HTTP 410
Tunnistetiedot vanhenivat tai ne on jo noudettu
application/json
Esimerkkivastaus
{
  "message": "workflow credentials are no longer available",
  "status": "expired",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Pyyntöä ei voitu käsitellä
application/json
Esimerkkivastaus
{
  "message": "unable to process request",
  "success": false
}
HTTP 503
Palvelu on tilapäisesti poissa käytöstä
application/json
Esimerkkivastaus
{
  "message": "service temporarily unavailable",
  "success": false
}
Kokeile päätepistettä
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

scopesPakollinen

string · kysely

Pilkuin erotetut oikeuksien nimet. Parametri on annettava; tyhjä arvo ei pyydä oikeuksia.

ai_agentValinnainen

string · kysely

Valinnainen tekoälyasiakkaan nimi, enintään 64 UTF-8-tavua ilman ohjausmerkkejä. Käytetään alkuperän nimeämiseen, ei todennukseen.

nonceValinnainen

string · kysely

Valinnainen välimuistin ohittava arvo, enintään 128 UTF-8-tavua. Se ei ole idempotenssiavain.

Vastaus

HTTP 200
Onnistunut vastaus
text/plain
Esimerkkivastaus
{
  "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/plain
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
text/plain
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Pyyntöä ei voitu käsitellä
text/plain
Esimerkkivastaus
{
  "message": "unable to process request",
  "success": false
}
Kokeile päätepistettä
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

idPakollinen

string · polku

Prosessin luonnin yhteydessä palautettu tunniste.

keyPakollinen

string · polku

Prosessin luonnissa palautettu yksityinen noutoavain. Älä sisällytä sitä julkisiin linkkeihin.

Vastaus

HTTP 200
Onnistunut vastaus
text/plain
Esimerkkivastaus
{
  "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/plain
Esimerkkivastaus
{
  "expires_at": "2030-01-01T12:00:00Z",
  "status": "pending",
  "success": false
}
HTTP 401
Virheellinen token tai noutoavain
text/plain
Esimerkkivastaus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 404
Prosessia ei löydy
text/plain
Esimerkkivastaus
{
  "message": "workflow not found",
  "success": false
}
HTTP 410
Tunnistetiedot vanhenivat tai ne on jo noudettu
text/plain
Esimerkkivastaus
{
  "message": "workflow credentials are no longer available",
  "status": "expired",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
text/plain
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 500
Pyyntöä ei voitu käsitellä
text/plain
Esimerkkivastaus
{
  "message": "unable to process request",
  "success": false
}
HTTP 503
Palvelu on tilapäisesti poissa käytöstä
text/plain
Esimerkkivastaus
{
  "message": "service temporarily unavailable",
  "success": false
}
Kokeile päätepistettä
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_idValinnainen

string · runko

Twitch-sovelluksen asiakastunniste. Jätä pois käyttääksesi TTG:n jaettua sovellusta.

client_secretValinnainen

string · runko

Twitch-sovelluksen asiakassalaisuus. Anna päivityspyynnössä yhdessä client_id-arvon kanssa.

refresh_tokenPakollinen

string · runko

Tilin ja Twitch-sovelluksen uusin päivitystoken.

Pyynnön JSON-runko

{
  "refresh_token": "EXAMPLE_REFRESH_TOKEN"
}

Vastaus

HTTP 200
Onnistunut vastaus
application/json
Esimerkkivastaus
{
  "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/json
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitch-pyyntö epäonnistui
application/json
Esimerkkivastaus
{
  "message": "Twitch request failed",
  "success": false
}
Kokeile päätepistettä
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_tokenPakollinen

string · runko

Tarkistettava tai peruutettava Twitch-käyttöoikeustoken ilman oauth:-etuliitettä.

client_idValinnainen

string · runko

Twitch-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/json
Esimerkkivastaus
{
  "success": true
}
HTTP 400
Virheellinen pyyntö
application/json
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitch-pyyntö epäonnistui
application/json
Esimerkkivastaus
{
  "message": "Twitch request failed",
  "success": false
}
Kokeile päätepistettä
POST /api/v2/tokens/validate

Tarkista token

Näyttää tokenin tilin, sovelluksen, myönnetyt oikeudet ja jäljellä olevan voimassaoloajan.

Parametrit

access_tokenPakollinen

string · runko

Tarkistettava tai peruutettava Twitch-käyttöoikeustoken ilman oauth:-etuliitettä.

Pyynnön JSON-runko

{
  "access_token": "EXAMPLE_ACCESS_TOKEN"
}

Vastaus

HTTP 200
Onnistunut vastaus
application/json
Esimerkkivastaus
{
  "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/json
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 401
Virheellinen token tai noutoavain
application/json
Esimerkkivastaus
{
  "message": "invalid retrieval key",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
HTTP 502
Twitch-pyyntö epäonnistui
application/json
Esimerkkivastaus
{
  "message": "Twitch request failed",
  "success": false
}
Kokeile päätepistettä
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_emailPakollinen

string · runko

Sähköpostiosoite, johon tunnistetiedot toimitetaan pyynnön valmistuttua.

my_namePakollinen

string · runko

Pyytäjän nimi, enintään 128 UTF-8-tavua.

scope_idsValinnainen

array · runko

Luettelon 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/json
Esimerkkivastaus
{
  "id": "example-request",
  "success": true,
  "url": "https://twitchtokengenerator.com/request/example-request"
}
HTTP 400
Virheellinen pyyntö
application/json
Esimerkkivastaus
{
  "message": "invalid request",
  "success": false
}
HTTP 429
Pyyntöraja saavutettu
application/json
Esimerkkivastaus
{
  "message": "rate limit exceeded",
  "success": false
}
Kokeile päätepistettä

Yhteensopivuus vanhan API:n kanssa

Nykyiset /api/-reitit ovat edelleen tuettuja. Käytä uusissa integraatioissa v2-päätepisteitä; vastausmuodot ja noudon todennus eroavat.

Vanha reittiV2-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