hello i recently moved over to laravel and i had this working then not working and its really stressing me out where am i going wrong?
this is to get the access token
private function getTwitchAccessToken() {
try {
$response = Http::asForm()->post('https://id.twitch.tv/oauth2/token', [
'client_id' => config('twitch.client_id'),
'client_secret' => config('twitch.client_secret'),
'grant_type' => 'client_credentials',
]);
if ($response->successful()) {
$accessToken = $response->json('access_token');
return $accessToken;
} else {
$error = 'An error occurred while obtaining the access token: ' . $response->body();
return $error;
}
} catch (\Exception $e) {
// Log or print the error details
\Illuminate\Support\Facades\Log::error('Twitch API Token Request Error:', [
'URL' => 'https://id.twitch.tv/oauth2/token',
'Error' => $e->getMessage(),
]);
$error = 'An error occurred while making the Twitch API token request.';
return $error;
}
}
then i have get user id
function getUserID($twitchUsername) {
try {
$twitchAccessToken = $this->getTwitchAccessToken();
$response = Http::withHeaders([
'client_id' => config('twitch.client_id'),
'Authorization' => 'Bearer '. $twitchAccessToken,
])->get('https://api.twitch.tv/helix/users?login=' . $twitchUsername);
// Dump and die the response body for debugging
return $response->body();
if ($response->successful()) {
$userData = $response->json('data.0');
$userId = $userData['id'] ?? null;
return $userId;
} else {
$error = 'An error occurred fetching user data.';
print_r($error);
}
} catch (\Exception $e) {
// Log or print the error details
dd($e->getMessage());
// You might want to redirect or display an error message to the user.
}
}
and to get the videos i use
$twitchAccessToken = $this->getTwitchAccessToken();
$twitchid = $this->getUserID($channelID);
if ($twitchAccessToken && $twitchid) {
$response = Http::withHeaders([
'client_id' => config('twitch.client_id'),
'Authorization' => 'Bearer ' . $twitchAccessToken,
])->get('https://api.twitch.tv/helix/videos', [
'user_id' => $twitchid,
'first' => 50,
'sort' => 'time',
'type' => 'archive',
]);
if ($response->successful()) {
$twitchvideos = $response->json('data');
$results = $twitchvideos;
$viewName = 'twitch-videos';
} else {
$error = 'An error occurred while fetching videos: ' . $response->body();
return $error;
}
} else {
$error = 'Failed to retrieve Twitch user ID or access token.';
return $error;
}
and this is what i get
An error occurred while fetching videos: {"error":"Service Unavailable","status":503,"message":""}
its probably something small like is this a twitch error or my code wrong?