Instagram API
Ik probeer met de Instagram API de foto's van een bepaalde hashtag op een website te plaatsen.
Maar het lijkt of er maar enkele afbeeldingen getoond worden.
Als je deze URL oproept:
https://api.instagram.com/v1/tags/[hashtag]?clientid=[CLIENTID]
Dan krijg je info over de hashtag, en het aantal foto's onder deze hashtag. Bij mij is dit bv. 26. Dit klopt, want als ik Instagram op m'n smartphone open, en filter, zijn het er inderdaad 26.
Maar als ik dan deze URL oproep:
https://api.instagram.com/v1/tags/[hashtab]/media/recent?clientid=[CLIENTID]
Dan krijg ik er maar 10 binnen... Waar zijn die overige 16 dan?
Iemand hier ervaring mee?
Alvast bedankt!
https://instagram.com/developer/endpoints de tekst:
"On views where pagination is present, we also support the "count" parameter. Simply set this to the number of items you'd like to receive."
Al geprobeerd?
Ik ken instagram verder niet zo goed, maar als ik even Google op hun documentatie voor een RESTful API dan lees ik op "On views where pagination is present, we also support the "count" parameter. Simply set this to the number of items you'd like to receive."
Al geprobeerd?
die count parameter had ik ook reeds geprobeerd... dit helpt niet...
Nog even gekeken: https://instagram.com/developer/ is volgens mij de documentatie die bij de API hoort. Welke stappen heb je doorlopen?
Als je al veel requests hebt gemaakt kan je hier nog tegenaanlopen: "Do not abuse the API. Too many requests too quickly will get your access turned off."
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
function callInstagram($url){
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$tag = '[HASHTAG]';
$client_id = "[CLIENTID]";
$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recentclient_id='.$client_id.'&count=50';
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
?>
function callInstagram($url){
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$tag = '[HASHTAG]';
$client_id = "[CLIENTID]";
$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recentclient_id='.$client_id.'&count=50';
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
?>
de $results bevat dan de gegevens van alle afbeeldingen, maar dit zijn er maar 10 van de 26
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 15/05/2015 14:36:13 door - Ariën -
Zie ook het voorbeeld uit de handleiding:
https://instagram.com/developer/endpoints/tags/#get_tags_media_recent
Jullie mogen de tag gerust weten waarmee ik werk: #bietrouwtmetthomas
je moet maar eens zoeken met deze tag, dan krijg je op je instagram app 26 resultaten. Maar als ik ze wil opvragen met de API via de endpoint /tags/bietrouwtmetthomas/media/recent dan komen er maar 10 mee, en dan zijn het nog niet de eerste of laatste 10 maar een bepaalde selectie... ik vind het heel raar... zou het met security of rechten te maken hebben?
Gewijzigd op 15/05/2015 16:13:18 door Liefhebber Laravel
Stackoverflow schijnt een oplossing daarvoor te hebben:
http://stackoverflow.com/questions/10765033/instagram-gem-how-to-get-next-page-of-results
Volgens mij heeft het niets met de pagination te maken, want die werkt per 20 items. en ik krijg er maar 10 binnen. En dan zou ik een 'max_id' terugkrijgen om de volgende reeks op te vragen.
Als Instagram schrijft in hun documentatie dat de opties count, min_tag_id en max_tag_id gebruikt kunnen worden en het vervolgens niet waarmaken, lijkt me dat dit geen PHP probleem is. Als je een beetje surft zie je meer problemen met hun count-optie. Ik zou het issue inschieten bij Instagram.
Ik vrees inderdaad ook dat het probleem bij de API ligt... Ik zal verder zoeken op het developers forum van Instagram. Bedankt alvast!