1. Go to this page and download the library: Download nicklaw5/twitch-api-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$twitch_client_id = 'TWITCH_CLIENT_ID';
$twitch_client_secret = 'TWITCH_CLIENT_SECRET';
$twitch_scopes = '';
$helixGuzzleClient = new \TwitchApi\HelixGuzzleClient($twitch_client_id);
$twitchApi = new \TwitchApi\TwitchApi($helixGuzzleClient, $twitch_client_id, $twitch_client_secret);
$oauth = $twitchApi->getOauthApi();
// Get the code from URI
$code = $_GET['code'];
// Get the current URL, we'll use this to redirect them back to exactly where they came from
$currentUri = explode('?', 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])[0];
if ($code == '') {
// Generate the Oauth Uri
$oauthUri = $oauth->getAuthUrl($currentUri, 'code', $twitch_scopes);
// Redirect them as there was no auth code
header("Location: {$oauthUri}");
} else {
try {
$token = $oauth->getUserAccessToken($code, $currentUri);
// It is a good practice to check the status code when they've responded, this really is optional though
if ($token->getStatusCode() == 200) {
// Below is the returned token data
$data = json_decode($token->getBody()->getContents());
// Your bearer token
$twitch_access_token = $data->access_token ?? null;
} else {
//TODO: Handle Error
}
} catch (Exception $e) {
//TODO: Handle Error
}
}
$twitch_client_id = 'TWITCH_CLIENT_ID';
$twitch_client_secret = 'TWITCH_CLIENT_SECRET';
$twitch_scopes = '';
$user_refresh_token = 'REFRESH_TOKEN';
$helixGuzzleClient = new \TwitchApi\HelixGuzzleClient($twitch_client_id);
$twitchApi = new \TwitchApi\TwitchApi($helixGuzzleClient, $twitch_client_id, $twitch_client_secret);
$oauth = $twitchApi->getOauthApi();
try {
$token = $oauth->getAppAccessToken($twitch_scopes ?? '');
$data = json_decode($token->getBody()->getContents());
// Your bearer token
$twitch_access_token = $data->access_token ?? null;
// The scopes from the API
$twitch_scopes = $data->scope;
} catch (Exception $e) {
//TODO: Handle Error
}
$twitch_client_id = 'TWITCH_CLIENT_ID';
$twitch_client_secret = 'TWITCH_CLIENT_SECRET';
// Assuming you already have the access token - see above
$twitch_access_token = 'the token';
// The Guzzle client used can be the as well.
$twitchApi = new TwitchApi($helixGuzzleClient, $twitch_client_id, $twitch_client_secret);
try {
// Make the API call. A ResponseInterface object is returned.
$response = $twitchApi->getUsersApi()->getUserByAccessToken($twitch_access_token);
// Get and decode the actual content sent by Twitch.
$responseContent = json_decode($response->getBody()->getContents());
// Return the first (or only) user.
return $responseContent->data[0];
} catch (GuzzleException $e) {
//TODO: Handle Error
}
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.