With the Twitch API, you can develop apps that:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
twitch: {
type: "app",
app: "twitch",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.twitch.tv/helix/users`,
headers: {
Authorization: `Bearer ${this.twitch.$auth.oauth_access_token}`,
"Client-ID": `${this.twitch.$auth.oauth_client_id}`,
},
})
},
})
Blocks a user; that is, adds a specified target user to your blocks list
Checks if you are subscribed to the specified user's channel
Retrieves a list of users who follow the authenticated user. See the documentation
Twitch uses OAuth authentication. When you connect your Twitch account, Pipedream will open a popup window where you can sign into Twitch and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Twitch API.
Pipedream requests the following authorization scopes when you connect your account:
analytics:read:extensions
analytics:read:games
bits:read
channel:read:subscriptions
clips:edit
user:edit
user:edit:broadcast
user:read:broadcast
user:read:email
user:read:follows
user:read:blocked_users
user:manage:blocked_users
moderator:read:followers
channel:read:editors
channel:manage:videos
user:read:subscriptions
GET
https://id.twitch.tv/oauth2/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://id.twitch.tv/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://id.twitch.tv/oauth2/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}