InstagramScraper\Model\Media::fromTagPage PHP Method

fromTagPage() public static method

public static fromTagPage ( $mediaArray )
    public static function fromTagPage($mediaArray)
    {
        $instance = new self();
        $instance->code = $mediaArray['code'];
        $instance->link = Endpoints::getMediaPageLink($instance->code);
        $instance->commentsCount = $mediaArray['comments']['count'];
        $instance->likesCount = $mediaArray['likes']['count'];
        $instance->ownerId = $mediaArray['owner']['id'];
        if (isset($mediaArray['caption'])) {
            $instance->caption = $mediaArray['caption'];
        }
        $instance->createdTime = $mediaArray['date'];
        $instance->imageThumbnailUrl = self::getCleanImageUrl($mediaArray['thumbnail_src']);
        $instance->imageStandardResolutionUrl = self::getCleanImageUrl($mediaArray['display_src']);
        $instance->type = 'image';
        if ($mediaArray['is_video']) {
            $instance->type = 'video';
            $instance->videoViews = $mediaArray['video_views'];
        }
        $instance->id = $mediaArray['id'];
        return $instance;
    }

Usage Example

 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;
 }