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:
JavaScript
x
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:
JavaScript
// 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:
JavaScript
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:
JavaScript
'url_params' => array(
'fields' => 'id,caption,media_type,media_url',
'limit' => 5,
)