Using the Instagram Basic Display API, how can I limit the number of posts that it fetches to less than 20?
Inside a class in PHP, I defined the following base URL for the endpoints:
private $_apiBaseUrl = 'https://api.instagram.com/'; private $_graphBaseUrl = 'https://graph.instagram.com/'; public $userId = ''; // defined here, fetched later by getUser();
These two functions get the posts:
 // get the posts
        public function getUsersMedia() {
            $params = array(
                'endpoint_url' => $this->_graphBaseUrl . $this->userId . '/media',
                'type' => 'GET',
                'url_params' => array(
                    'fields' => 'id,caption,media_type,media_url',
                )
            );
            $response = $this->_makeApiCall( $params );
            return $response;
        }
   // get more info on a specific post
        public function getMedia( $mediaId ) {
            $params = array(
                'endpoint_url' => $this->_graphBaseUrl . $mediaId,
                'type' => 'GET',
                'url_params' => array(
                    'fields' => 'id,caption,media_type,media_url,permalink,thumbnail_url,timestamp,username'
                )
            );
            $response = $this->_makeApiCall( $params );
            return $response;
        }
In this post I found this endpoint:
https://graph.instagram.com/{user-id}/media?fields={media-fields-you-want-to-return}&access_token={access-token}&limit={number-of-media-you-want-to-return}
But how would I make this work with my functions? I don’t want to use pagination, but only return like, say, the last 5-10 posts.
Advertisement
Answer
Add an entry for the limit parameter to the url_params arrays:
'url_params' => array( 'fields' => 'id,caption,media_type,media_url', 'limit' => 5, )