Twitch api что это

Get Started with the Twitch API

The Twitch API is a RESTful API that lets developers build creative integrations for the broader Twitch community.

To see how easy it is to integrate with the API, let’s use the Twitch CLI (command line interface) to get information about the TwitchDev user.

Step 1: Register an application

The first step is to register your app with Twitch. To register your app:

Step 2: Authentication using the Twitch CLI

This example uses the Twitch CLI to generate an OAuth access token that’s required to access Twitch resources.

Installing the CLI

To install the Twitch CLI, go to the Twitch CLI repository and follow the Download instructions in README.md. For example, use the following Homebrew command to install the CLI on MacOS or Linux.

CLI usage

After installing the Twitch CLI, open a terminal window and enter twitch at the command prompt to display the CLI’s usage.

If you have trouble installing or running the CLI, get help by posting a note in the #cli-help channel of the TwitchDev Discord server.

Getting an access token

To get an access token, enter twitch token at the command prompt. Because this is the first time you’re running the token command in this instance of the CLI, the CLI will prompt you for the client ID and secret you created in Step 1. After entering the ID and secret from Step 1, the CLI returns an access token that you’ll use in Step 3. (The access token is an app access token and is valid for 60 days.)

The following example shows the output from the token command.

Note the access token, which you’ll use in Step 3 for the cURL exammple.

Step 3: Making your first Twitch API request

Now that the CLI is configured with your client ID, secret, and access token, you can make your first request. To get information about the TwitchDev user, enter the following Twitch CLI command:

For information about the api command and usage, see API usage.

The JSON response

The following example shows the JSON response that the request returns.

Using cURL to get the information

If you use cURL, here’s the call you’d use to get the TwitchDev user’s information (remember to change the Authorization and Client-id header values to your own values).

Next steps

Check out the CLI’s API usage documentation and then try out a few different endpoints and options.

For a list of the endpoints that you can call, see Twitch API Reference.

To understand Twitch API concepts, see Twitch API Guide.

To get into the nuts and bolts of authentication, see the Authentication guide. This guide explains how to enable your application to take actions on behalf of a Twitch account, or access specific data about a user’s account.

Join our community of Twitch developers! And for other ways to connect with the community, explore our developer support page.

Источник

RU Twitch Developer Documentation

Начнете за несколько минут.

Расширения

Интерактивный навык который работает как stream overlay или как панель. Это так же просто как писать веб приложение.

Чат бот

Создает интерактивное команды в чате Twitch, который могут использовать для получения запросов, моделирование контента и т.д.

Новый Twitch API

Использование Twitch данных и индентичные инструменты для улучшения вашей игры или подключения к вашему приложению.

Исследуйте Twitch

Приложения и Аутентификация

Система авторизации Twitch.

Чат бот и IRC

Позволяет зрителям отправлять сообщения, просматриваемые вещателем и другими зрителями.

Вознаграждение

Набор инструментов для предоставления в игре вознаграждениям в вашем игровом комюнити в пределах возможностей просмотра Twitch.

Встраивание в Twitch

Опции для встраивания чатов Twitch, видео в реальном времени и VODs на вашем сайте.

Разширения

Позволяет стримерам внедрять интерактивный, пользовательский, сторонний контент на свои каналы.

Аналитика

Позволяет разработчикам загружать данные о том, как их игры и расширения просматриваются в Twitch.

Мобильные ссылки

Внешний запуск приложения Android и iOS

Публичная Подписка

Позволяет подписаться на тему, для обновлений (например, когда пользователь приветствует канал). Позволяет серверным службам транслировать сообщения в режиме реального времени клиентам.

Новый Twitch API

Инструменты и данные для разработки интеграции с Twitch. Модели и системы данных предназначены для обеспечения релевантных данных простым, последовательным и надежным способом.

Twitch API v5

Позволяет разрабатывать собственные приложения, используя богатый набор функций. V5 устарел.

Словарь

Получить помощь

Обратиться за помощью, используя наши инструменты для разработчиков или сообщите нам о проблемах с продуктом или документацией:

Условия эксплуатации

Получив доступ к API Twitch или используя его, вы соглашаетесь соблюдать и соблюдать Соглашение об услугах Twitch Developer Services. Если вы не согласны с условиями соглашения Twitch Developer Agreement, не обращайтесь к API Twitch или иным образом не используйте его.

Данный сайт разрабатываеться для удобного искользовани Twitch Developer в России.

Источник

Twitch API Guide

The Twitch API provides the tools and data used to develop Twitch integrations. The data models and systems are designed to provide relevant data in an easy, consistent, and reliable way.

Specifying multiple query parameter values

JSON deserialization

Because Twitch is constantly improving the API, which may include adding new fields to existing objects, you should use your JSON library’s ignore attribute to prevent the deserializer from generating an error when it encounters fields that your class doesn’t define.

For example, if you use Jackson, you can include @JsonIgnoreProperties(ignoreUnknown = true) on the class or set the global DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES configuration property to false.

Pagination

The Twitch API supports cursor-based pagination for APIs that return lists of resources.

List APIs use the following query parameters to control paging:

The after and before parameters are mutually exclusive; you may not specify both in the same call.

If a list API can return another page of results, the response contains a Pagination object that includes the cursor field.

When paging forward, the cursor marks the top of the next page of results. If the API supports paging backward, the cursor also marks the top of the previous page of results.

Use the cursor’s value to set the after or before query parameter depending on the direction you want to page. See Forward pagination and Backward pagination.

The Pagination object is empty if there are no more pages to return in the direction you’re paging.

Specifying the page size

List requests return a default number of items per page. For example, by default, Get Streams returns a maximum of 20 items per page. To specify a different page size, use the first query parameter with each request.

If an API supports pagination, its documentation specifies the default page size and the maximum page size that you may specify. For example, the maximum page size for Get Streams is 100.

A page may contain less than the number of items requested, which is often the case for the last page of results.

Forward pagination

To get the first page, don’t specify the after query parameter.

To get the next page, and all subsequent pages, set the after query parameter to the value in the cursor field of the response’s Pagination object.

You know you’re at the end of the list when the response contains an empty Pagination object.

Backward pagination

Not all APIs support paging backward. Check the documentation to confirm whether the API supports backward pagination — the list of query parameters includes the before query parameter.

To page backward through a list, set the before query parameter to the value in the cursor field of the response’s Pagination object.

You know you’re at the beginning of the list when the response contains an empty Pagination object. To page forward when you’re at the top of the list, don’t include a cursor parameter.

If you page forward to the end of the list, the Pagination object is empty. Because of this, you must keep a copy of the previous cursor to use to page backward.

Lists are dynamic

Because lists are dynamic views of the data, it’s possible that the cursor may return an empty page ( «data»:[] ) when you’re near the end of the list.

It’s also possible that the data that a user sees on one page could show up on the next or previous page. For example, Get Streams orders the list of streamers by their number of viewers. If the streamer’s viewership changes between the time you get the cursor and the the time the user pages forward or backward, it’s possible that the streamer could have moved up or down in the list and the user would see them twice.

For the same reason, it’s also possible that if the user pages forward and then backward, the contents of the previous page may be partially or fully different depending on how volatile the data is.

Known issues

The following list contains known issues that you should consider when designing your app.

Rate limits

To protect our services, and to make sure there are enough resources for all our partners, Twitch limits the number of requests a client ID (app) may make. If your app exceeds the limit, the request returns HTTP status code 429 (Too Many Requests).

How it works

Twitch uses a token-bucket algorithm to ensure the limits are respected. Your app is given a bucket of points. Each endpoint is assigned a points value (the default points value per request for an endpoint is 1). When your app calls the endpoint, the endpoint’s points value is subtracted from the remaining points in your bucket. If your bucket runs out of points within 1 minute, the request returns status code 429.

Your app is given a bucket for app access requests and a bucket for user access requests. For requests that specify a user access token, the limits are applied per client ID per user per minute.

If an endpoint uses a non-default points value, or specifies different limit values, the endpoint’s documentation identifies the differences.

For details about the Extensions API rate limits, see Extension rate limits.

Keeping track of your usage

The API includes the following headers with each response to help you stay within your request limits.

If you receive HTTP status code 429, use the Ratelimit-Reset header to learn how long you must wait before making another request.

Real-time information

Given the choice between polling an endpoint for updates or subscribing to an update event, choose events. See EventSub subscriptions.

Authentication

Twitch supports the following authentication schemes.

For an overview of using authentication in the Twitch API, see Authentication.

For information about JSON Web Tokens (JWT), see JSON Web Tokens.

For Extension developers, the Extensions API supports only JWTs. The following topics contain relevant JWT information.

Service unavailable error

If you get an HTTP status code 503 (Service Unavailable) error, retry once. If the retry also returns 503, check the status page for relevant updates. You may also report any issue that appears to be a bug via GitHub Issues.

Status page

The Twitch API has a public status page that contains aggregate information about service health and incidents. You can subscribe to this page to receive automated alerts.

Источник

Приложения и Аутентификация

Введение

Это руководство поможет разработчикам использовать Twitch Authentication, что позволяет вашему приложению выполнять действия от имени учетной записи Twitch или получать доступ к определенным данным об учетной записи пользователя. Существует несколько способов получить доступ к учетной записи Twitch от имени пользователя. Мы используем части протокола OAuth 2.0.

В дополнение к OAuth Twitch поддерживает OIDC (OpenID Connect) для более безопасного потока OAuth 2.0. Тонеры OIDC совместимы с услугами, созданными для соответствия требованиям OIDC, такими как Cognito от Amazon Web Services.

Аутентификация включает:

Когда мы описываем этапы, мы предоставляем образцы запросов, которые будет создано вашим приложением, чтобы ваши пользователи предоставили вам доступ к их активности просмотра.

Для удобства чтения часть кода с параметризованным примером показана на нескольких строках; реальные примеры находятся на одной линии.

Предупреждение: обрабатывайте свой токен как пароль. Например, никогда не используйте токены доступа в любом общедоступном URL-адресе и никогда не показывайте маркеры на любой веб-странице, не требуя щелчка, чтобы удалить обфускацию. Держите жетоны в секрете!

Проверка запросов

Мы рекомендуем проверять токены доступа перед тем, как делать запросы API, которые выполняют мутации, или получают доступ к конфиденциальной информации пользователей, если прошло более одного часа с момента последней проверки.

Twitch периодически проводит аудит. Если мы обнаружим приложение, которое не повторяет проверку токенов доступа (то есть приложение, которое проверяет только для входа в систему, а не после этого), мы будем обращаться к разработчикам и работать с ними для решения проблемы. Если проблема не устранена, мы можем предпринять карательные действия, такие как аннулирование ключа API разработчика или дросселирование производительности приложения.

Валидация важна из-за того, как работают токены доступа OAuth и ожидания конечного пользователя для контроля сеанса OAuth. Например, пользователи, которые предпочитают отключать вашу интеграцию со своими учетными записями Twitch, могут сделать это из своих настроек учетной записи в Twitch. Когда пользователь отключается от интеграции, все токены OAuth между этим пользователем и эта интеграция аннулируются. В этом случае ожидается, что токены OAuth привязаны к сеансам сторонних служб; как таковые, любые существующие сеансы между отключенным пользователем и этими службами также должны быть аннулированы.

При проверке каждого из ваших запросов отправьте запрос конечной точке проверки (https://id.twitch.tv/oauth2/validate) с вашим токеном OAuth в заголовке. Если вы аутентифицированы, ответ включает статус вашего токена. Успешный ответ указывает, что ваш токен доступа действителен.

Вот пример запроса:

И вот пример ответа:

Регистрация

Чтобы создать приложение, использующее API Twitch, сначала необходимо зарегистрировать свое приложение на сайте разработчика Twitch. При создании этого приложения введите свой URI перенаправления, в котором пользователи перенаправляются после авторизации.

После создания приложения-разработчика вам присваивается идентификатор клиента. Некоторые потоки аутентификации также требуют секретности клиента, которую вы можете создать на той же странице, что и идентификатор клиента.

Поскольку секрет вашего клиента является конфиденциальным, мы не можем показать его вам после того, как вы покинете страницу, поэтому обязательно записывайте ее где-нибудь в безопасности. Кроме того, генерация нового секретного ключа немедленно аннулирует текущий, что может привести к сбою ваших запросов API до тех пор, пока ваше приложение не будет обновлено.

Предупреждение: Идентификаторы клиентов должны быть уникальными для каждого приложения: не используйте повторно идентификаторы клиентов в нескольких приложениях. Кроме того, приложения должны запросить соответствующий набор областей для целевых API-интерфейсов. Несоблюдение этих рекомендаций может привести к приостановке доступа вашего приложения к API Twitch.

Типы токенов

Twitch поддерживает несколько типов токенов:

Набор требований к конечному пользователю для данной авторизации. Использование токенов идентификатора OIDC (JWT) позволяет вам получить подробную информацию о вашем пользователе (например, адрес электронной почты) для конкретной авторизации. Эти данные представлены заявками в полезной нагрузке токена идентификатора.

Наша конечная точка обнаружения находится по адресу https://id.twitch.tv/oauth2/.well-known/openid-configuration. Его можно использовать со стандартными клиентами OIDC, такими как AWS Cognito.

Аутентифицируйте пользователей и разрешите вашему приложению делать запросы от их имени. Если ваше приложение использует Twitch для входа в систему или делает запросы в контексте аутентифицированного пользователя, вам необходимо создать токен доступа пользователя.

Аутентифицируйте приложение и разрешите ему доступ к ресурсам, которыми он владеет. Поскольку токены доступа приложений не связаны с пользователем, они не могут использоваться с конечными точками, требующими аутентификации пользователя.

Некоторые конечные точки Twitch API требуют проверки подлинности приложения (не аутентификации пользователя). Если ваше приложение использует эти конечные точки, вам необходимо создать токен доступа к приложениям. Точки доступа к доступу получают учетные данные клиента (а не учетные данные пользователя). Они позволяют вам делать безопасные запросы API, которые не от имени конкретного пользователя. Учетные данные клиента также могут использоваться вместо заголовков идентификаторов клиента для надежной идентификации вашего приложения.

Точки доступа к приложениям истекают примерно через 60 дней, поэтому вы должны проверить, что токен доступа к вашему приложению действителен, отправив запрос на конечную точку проверки (см. Проверка запросов). Если ваш токен истек, создайте новый.

Точки доступа к приложениям предназначены только для запросов API-интерфейсов сервер-сервер и никогда не должны включаться в код клиента.

Получение токенов

Мы поддерживаем несколько потоков аутентификации:

Тип токенаОписание
ID токен (OIDC)
Тип потокаОписание
Неявный поток кодаВ вашем приложении не используется сервер, например клиентское приложение JavaScript или мобильное приложение. Этот подход не требует сервера, который должен делать запросы к API.
Кодирование кода авторизацииВаше приложение использует сервер, может безопасно хранить секрет клиента и может выполнять запросы сервера к серверу.
Поток клиентских учетных данныхВам нужен токен доступа к приложениям.

Процедура, которую вы должны использовать для получения токенов, зависит от типов) тонов, которые вы хотите:

ПроцедураТокен доступа пользователяID токенТокен доступа к приложениям
Неявный поток кода OIDC
Неявный поток кода OAuth
Поток кода авторизации OIDC
Поток кода авторизации OAuth
Поток учетных данных клиента OAuth

Отправка доступа пользователей и токенов доступа к приложениям

Когда запрос API требует аутентификации, отправьте токен доступа в виде заголовка. Заголовок отличается, в зависимости от того, какой API вы используете:

В новом Twitch API:

Отмена токенов доступа

Чтобы очистить ранее полученные токены доступа, используйте конечную точку торможения токена Twitch OAuth. Его реализация соответствует стандарту OAuth.

На своем сервере отмените токен доступа, выполнив этот запрос:

Например, используя вашего ранее аутентифицированного пользователя, запрос:

Этот запрос также работает для токенов доступа к приложениям. Чтобы аннулировать токен доступа к приложениям, который мы создали ранее, сделайте этот запрос:

Как успешные запросы, так и запросы с плохими токенами возвращают 200 OK без тела. Запросы с плохими токенами возвращают один и тот же ответ, поскольку нет значимого действия, которое клиент может предпринять после отправки плохого токена.

Обновление токенов доступа

Чтобы позволить приложениям оставаться аутентифицированными в течение длительного времени в мире истекающих токенов, мы разрешаем обновлять сеансы в соответствии с рекомендациями в разделе «Обновление токена доступа» в RFC OAuth2. Как правило, обновлять токены используются для продления срока службы заданной авторизации.

Выходы токена не влияют на существующие токены. В будущем мы будем отзывать постоянно живущие сессии.

(Обратите внимание, что токены доступа и токены доступа не могут быть обновлены.)

How to Refresh

Чтобы обновить токен, вам нужна пара токенов доступа / обновления, исходящая из тела. Например:

Чтобы обновить, используйте этот запрос:

Существует несколько требуемых параметров и один необязательный параметр:

Данный сайт разрабатываеться для удобного искользовани Twitch Developer в России.

Источник

Authentication

Introduction

This guide describes how to use Twitch Authentication to enable your application to take actions on behalf of a Twitch account or access certain data about users’ accounts. The preferred method of authentication is OAuth. We use parts of the OAuth 2.0 protocol.

In addition to OAuth, Twitch supports OIDC (OpenID Connect) for a more secure OAuth 2.0 flow. OIDC tokens are compatible with services built for OIDC compliance, such as Cognito by Amazon Web Services.

Code samples are available for Go and Node.js.

Warning: Treat your token like a password. For example, never use access tokens in any public URL, and never display tokens on any web page without requiring a click to de-obfuscate.

Validating requests

If you use Twitch authentication for login purposes only, access tokens should be validated on a recurring interval. Periodic validation of previously issued OAuth tokens ensures that users who authorized your application have not decided to disconnect the integration.

You must validate access tokens before making API requests which perform mutations on or access sensitive information of users, if it has been more than one hour since the last validation.

Twitch periodically conducts audits. If we discover an application that is not re-validating access tokens (that is, an application that validates only for login and not thereafter), we will reach out and work with developers to resolve the issue. If the issue is not resolved, we may take punitive action, such as revoking the developer’s API key or throttling the application’s performance.

Validation is important because of how OAuth access tokens work and the end user’s expectation of OAuth session control. For example, users who opt to disconnect your integration from their Twitch accounts can do so from their account settings on Twitch. When a user disconnects from an integration, all OAuth tokens between that user and that integration are invalidated. In this scenario, the expectation is that OAuth tokens are tied to sessions on third-party services; as such, any existing sessions between the disconnected user and those services also should be invalidated.

When validating each of your requests, submit a request to the validation endpoint ( https://id.twitch.tv/oauth2/validate ) with your OAuth token in the header. If you are authenticated, the response includes the status of your token. A successful response indicates that your access token is valid.

Here is a sample request:

And here is a sample response:

Registration

To make an application that uses the Twitch API, you first need to register your application on the Twitch developer site. When creating this app, enter your redirect URI, which is where your users are redirected after being authorized. You can provide several redirect URIs, for example, if you wish to use the same client for different environments.

Once you create a developer application, you are assigned a client ID. Some authentication flows also require a client secret, which you can generate on the same page as the client ID.

Because your client secret is confidential, we cannot show it to you once you leave the page, so make sure to record it somewhere safe. Also, generating a new client secret immediately invalidates the current one, which might make your API requests fail until your app is updated.

Warning: Client IDs should be unique for each application: do not re-use client IDs across multiple applications. Also, applications should request the appropriate scopes for the intended target APIs. Failure to adhere to these guidelines may result in the suspension of your application’s access to the Twitch API.

Types of tokens

Twitch supports several types of tokens:

Token TypeDescription
ID tokens (OIDC)A set of claims about the end user, for a given authorization. Using OIDC ID tokens (JWT) enables you to get details about your user (such as email address) for a particular authorization. These details are represented by claims in the ID token’s payload.

Our discovery endpoint is at https://id.twitch.tv/oauth2/.well-known/openid-configuration. It can be used with standard OIDC clients like AWS Cognito.

User access tokensAuthenticate users and allow your app to make requests on their behalf. If your application uses Twitch for login or makes requests in the context of an authenticated user, you need to generate a user access token.
App access tokensAuthenticate your app and allow it to access resources that it owns. Since app access tokens are not associated with a user, they cannot be used with endpoints that require user authentication.

Some Twitch API endpoints require application authentication (not user authentication). If your application uses these endpoints, you need to generate an app access token. App access tokens get client credentials (not user credentials). They enable you to make secure API requests that are not on behalf of a specific user. Client credentials also may be used in place of client ID headers to securely identify your application.

App access tokens expire after about 60 days, so you should check that your app access token is valid by submitting a request to the validation endpoint (see Validating Requests). If your token has expired, generate a new one.

App access tokens are meant only for server-to-server API requests and should never be included in client code.

User access tokens and app access tokens are both bearer tokens. “Bearer” comes from the authorization header; see Sending User Access and App Access Tokens.

Getting tokens

The domain dedicated to Twitch authentication is https://id.twitch.tv.

Note: URLs have been updated to replace https://api.twitch.tv/kraken with https://id.twitch.tv. Code that uses the old kraken domain for Twitch authentication will continue to work until the removal of Twitch API v. 5 functionality. Twitch API v. 5 is currently deprecated.

We support several authentication flows:

Flow TypeDescription
Implicit code flowYour app does not use a server, such as a client-side JavaScript app or mobile app. This approach does not require a server that must make requests to the API.
Authorization code flowYour application uses a server, can securely store a client secret, and can make server-to-server requests.
Client credentials flowYou need an app access token.

The procedure you should use to get tokens depends on the type(s) of tokens you want:

ProcedureUser Access TokenID TokenApp Access Token
OIDC Implicit Code Flowвњ”вњ”В
OAuth Implicit Code Flowвњ”ВВ
OIDC Authorization Code Flowвњ”вњ”В
OAuth Authorization Code Flowвњ”ВВ
OAuth Client Credentials FlowВВвњ”

Sending user access and app access tokens

When an API request requires authentication, send the access token as a header. The header differs, depending on which API you use:

Revoking access tokens

To clean up previously obtained access tokens, use the Twitch OAuth token-revocation endpoint. The implementation follows the OAuth standard.

The following example shows how to revoke a user or app access token:

Successful requests return 200 OK with no body.

Refreshing access tokens

New OAuth2 access tokens have expirations. Token-expiration periods vary in length, based on how the token was acquired. Tokens return an expires_in field indicating how long the token should last. However, you should build your applications in such a way that they are resilient to token authentication failures. In other words, an application capable of refreshing tokens should not need to know how long a token will live. Rather, it should be prepared to deal with the token becoming invalid at any time.

To allow for applications to remain authenticated for long periods in a world of expiring tokens, we allow for sessions to be refreshed, in accordance with the guidelines in “Refreshing an Access Token” in the OAuth2 RFC. Generally, refresh tokens are used to extend the lifetime of a given authorization.

Note: App access tokens and ID tokens cannot be refreshed.

How to refresh

To refresh a token, you need an access token/refresh token pair coming from a body. For example:

You also need the client_id and client_secret used to generate the above access token/refresh token pair

To refresh, use this request:

There are several required parameters and one optional parameter:

Your refresh token may contain characters that are not URL safe, so be sure to URL encode the characters of your refresh token before inserting it into the body of the refresh request. Otherwise, you may get an error (“Invalid refresh token”) when you try to refresh.

Optional ParameterTypeDescription
scopestringSpace-separated list of scopes. This must be the entire set or any subset of the scopes assigned to the original token grant. It cannot include any scope not originally granted by the resource owner. Default: the entire set of scopes originally granted.

Here is a sample response on success. It contains the new access token, refresh token, and scopes associated with the new grant. Your application should then update its record of the refresh token to be the value provided in this response, as the refresh token may change between requests.

Here is the body of an unsuccessful response:

Refresh in response to server rejection for bad authentication

We recommend that you refresh your tokens in response to being rejected by the server for bad authentication. It is good practice to assume that your access token can expire or be revoked at any time, and refreshing reactively ensures that your application is prepared to deal with such situations as gracefully as possible. For this reason, refreshing in response to server rejection is preferable to refreshing proactively, on a fixed schedule.

When you make a request with expired or incorrect authorization credentials, the API returns a 401 Unauthorized status:

On seeing a 401 error, an application should try to refresh the session if a refresh token is present. If the refresh fails, the application should re-prompt the end user with another authentication dialog via the standard OAuth 2 flow.

Handling token refreshes in an application

We recommend that you do access-token refreshes synchronously with respect to all consumers of a given access token. That is, do not send multiple, simultaneous refresh requests for the same token. Send one refresh request, then redistribute the new token that is returned from that request to all consumers, as appropriate.

The API limits the number of active access tokens associated with a given refresh token. The limit is 50 token per client/user (that is, a user can only have 50 tokens live at a time per client ID). If multiple threads sharing the same authorization were to simultaneously refresh, some of them might not have working credentials at the end of the refresh. Synchronizing on the refresh operation prevents the application from inadvertently overrunning its limit.

Scopes

As mentioned above, when you request authorization from users, the URL scope parameter allows you to specify which permissions your app requires. These scopes are tied to the access token you receive on successful authorization. Multiple scopes can be specified when requesting an OAuth or OIDC token. Without specifying scopes, your app can access only basic information about the authenticated user.

Scopes are specified as a space-separated list in the URL scope parameter, when requesting authorization:

Ask only for the permissions you need, as users can view each requested permission when authorizing your app.

No scopes are needed when requesting app access tokens.

Twitch API

The table below is a comprehensive list of the available scopes for the Twitch API. To see a comprehensive list of all Twitch API endpoints, including those that do not require scopes, refer to the Twitch API reference.

Scope NameType of Access and Associated Endpoints
analytics:read:extensionsView analytics data for the Twitch Extensions owned by the authenticated account.

Get Extension Analytics

analytics:read:gamesView analytics data for the games owned by the authenticated account.

Get Game Analytics

bits:readView Bits information for a channel.

Get Bits Leaderboard

channel:edit:commercialRun commercials on a channel.

Start Commercial

channel:manage:broadcastManage a channel’s broadcast configuration, including updating channel configuration and managing stream markers and stream tags.

Modify Channel Information
Create Stream Marker
Replace Stream Tags

channel:manage:extensionsManage a channel’s Extension configuration, including activating Extensions.

Get User Active Extensions
Update User Extensions

channel:manage:pollsManage a channel’s polls.

Create Poll
End Poll

channel:manage:predictionsManage of channel’s Channel Points Predictions

Create Channel Points Prediction
End Channel Points Prediction

channel:manage:redemptionsManage Channel Points custom rewards and their redemptions on a channel.

Create Custom Rewards
Delete Custom Reward
Update Custom Reward
Update Redemption Status

channel:manage:scheduleManage a channel’s stream schedule.

Update Channel Stream Schedule
Create Channel Stream Schedule Segment
Update Channel Stream Schedule Segment
Delete Channel Stream Schedule Segment

channel:manage:videosManage a channel’s videos, including deleting videos.

Delete Videos

channel:read:editorsView a list of users with the editor role for a channel.

Get Channel Editors

channel:read:goalsView Creator Goals for a channel.

Get Creator Goals

channel:read:hype_trainView Hype Train information for a channel.

Get Hype Train Events

channel:read:pollsView a channel’s polls.

Get Polls

channel:read:predictionsView a channel’s Channel Points Predictions.

Get Channel Points Predictions

channel:read:redemptionsView Channel Points custom rewards and their redemptions on a channel.

Get Custom Reward
Get Custom Reward Redemption

channel:read:stream_keyView an authorized user’s stream key.

Get Stream Key

channel:read:subscriptionsView a list of all subscribers to a channel and check if a user is subscribed to a channel.

Get Broadcaster Subscriptions

clips:editManage Clips for a channel.

Create Clip

moderation:readView a channel’s moderation data including Moderators, Bans, Timeouts, and Automod settings.

Check AutoMod Status
Get Banned Events
Get Banned Users
Get Moderators
Get Moderator Events

moderator:manage:banned_usersBan and unban users.

Ban users
Unban user

moderator:read:blocked_termsView a broadcaster’s list of blocked terms.

Get Blocked Terms

moderator:manage:blocked_termsManage a broadcaster’s list of blocked terms.

Add Blocked Term
Remove Blocked Term

moderator:manage:automodManage messages held for review by AutoMod in channels where you are a moderator.

Manage Held AutoMod Messages

moderator:read:automod_settingsView a broadcaster’s AutoMod settings.

Get AutoMod Settings

moderator:manage:automod_settingsManage a broadcaster’s AutoMod settings.

Update AutoMod Settings

moderator:read:chat_settingsView a broadcaster’s chat room settings.

Get Chat Settings

moderator:manage:chat_settingsManage a broadcaster’s chat room settings.

Update Chat Settings

user:editManage a user object.

Update User

user:edit:followsDeprecated. Was previously used for “Create User Follows” and “Delete User Follows.” See Deprecation of Create and Delete Follows API Endpoints.
user:manage:blocked_usersManage the block list of a user.

Block User
Unblock User

user:read:blocked_usersView the block list of a user.

Get User Block List

user:read:broadcastView a user’s broadcasting configuration, including Extension configurations.

Get Stream Markers
Get User Extensions
Get User Active Extensions

user:read:emailView a user’s email address.

Get Users (optional)

user:read:followsView the list of channels a user follows.
Get Followed Streams
user:read:subscriptionsView if an authorized user is subscribed to specific channels.

Legacy Twitch API v5

With the deprecation of Twitch API v5, the scopes below have been mapped to Twitch API scopes for an easier migration between versions. You can find this mapping and information about equivalent endpoints on the Twitch API Migration Guide.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *