Hello , I Would like to Get Some Help on How to use this Twitch Api
To Get Last 7 days Top Clips For a Special Broadcaster as shown in the example .
It Dosen’t Return anything for me , & i’m not sure if i made a mistake in the Date Format for the proprieties Started_at & ended_at . in my example i did ?started_at=2020-03-01?ended_at=2020-03-08
to get clips between 1 MARS 2020 & 8 MARS 2020 .
Thanks for your help <3
Your URL is wrong.
It should be
clips?broadcaster_id=foo&started_at=date&ended_at=anotehrdate
Query string arguments need to be &
separated in the URL
IT WORKED But i still have a problem with the Date Format ! i don’t know how to convert this date : 2020-03-01 to RFC3339
&started_at=2020-03-01T00:00:00Z&ended_at=2020-03-08T00:00:00Z
Thank Youuu iT Worked , is there any easy way to use this format in php because in my php script i should be using variables . is there any way to use Varibale like $date.time.now & convert it to this format ?? & substract 7 days from it in the second variable .
https://www.php.net/manual/en/class.datetime.php
Suggests
Y-m-d\TH:i:sP
So
$date = date(‘Y-m-d\TH:i:sP’, time());
I think i have a problem with First date i should add some more “” i guess , and also the Format Need to be like this 2020-03-08T17:56:03Z i don’t know how to add that letter in the End
eventough i added the P $date = date(“Y-m-d\TH:i:sP”, time()); in the format it give me this !!
Z
means you are in UTC
+01:00
means you are in a timezone +1 of UTC
So +01:00
is correct
The P of the timezone in the format means “append the timezone offset”
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3)
Please stop using screenshots for your code, makes it difficult for me to copy/paste/fix
You can just paste code into the forums, using the relevant formatting functions
$date1 = urlencode(date(‘Y-m-d\TH:i:sP’), time());
$date2 = urlencode(date(‘Y-m-d\TH:i:sP’, strtotime(‘-1 week’));
Am Sorry ,
It Still returning Null For me
<?php
$date1 = date("Y-m-d\TH:i:sP", time());
$date2 = date("Y-m-d\TH:i:sP", strtotime("-7 days"));
$date3 = urldecode($date1);
$date4 = urldecode($date2);
echo $date1;
echo "<br>";
echo $date2;
echo "<br>";
echo $date3;
echo "<br>";
echo $date4;
echo "<br>";
$ch = curl_init('https://api.twitch.tv/helix/clips?broadcaster_id=157527726&started_at=' . $date4 . ' &ended_at= '.$date3);
You need to urlencode
. You have urldecode
d
$date3 = urlencode($date1);
$date4 = urlencode($date2);
I Changed it , but still NULL
$date1 = date("Y-m-d\TH:i:sP", time());
$date2 = date("Y-m-d\TH:i:sP", strtotime("-7 days"));
$date3 = urlencode($date1);
$date4 = urlencode($date2);
echo $date1;
echo "<br>";
echo $date2;
echo "<br>";
echo $date3;
echo "<br>";
echo $date4;
echo "<br>";
$ch = curl_init('https://api.twitch.tv/helix/clips?broadcaster_id=157527726&started_at=' . $date3 . ' &ended_at= '.$date4);
When i Tried to use the Encoded Date Format in the Api , It Actually Worked
$ch = curl_init('https://api.twitch.tv/helix/clips?broadcaster_id=157527726&started_at=2020-03-01T18%3A42%3A52%2B01%3A00&ended_at=2020-03-08T18%3A42%3A52%2B01%3A00');
However It’s Not working when using Variables like this :
$ch = curl_init('https://api.twitch.tv/helix/clips?broadcaster_id=157527726&started_at=' . $date3 . ' &ended_at= '.$date4);
You have a space before the & of ended_at and after the = of ended_at=
Additionally your dates are back to front
start_at=now&end_at=sevendays_ago
So no results