public static function getLocationMediasById($facebookLocationId, $quantity = 12, $offset = '')
{
$index = 0;
$medias = [];
$hasNext = true;
while ($index < $quantity && $hasNext) {
$response = Request::get(Endpoints::getMediasJsonByLocationIdLink($facebookLocationId, $offset));
if ($response->code !== 200) {
throw new InstagramException('Response code is ' . $response->code . '. Body: ' . $response->body . ' Something went wrong. Please report issue.');
}
$arr = json_decode($response->raw_body, true);
$nodes = $arr['location']['media']['nodes'];
foreach ($nodes as $mediaArray) {
if ($index === $quantity) {
return $medias;
}
$medias[] = Media::fromTagPage($mediaArray);
$index++;
}
if (count($nodes) == 0) {
return $medias;
}
$hasNext = $arr['location']['media']['page_info']['has_next_page'];
$offset = $arr['location']['media']['page_info']['end_cursor'];
}
return $medias;
}