Pergunta

I gave a look to instafeed.js. It works good right away, I followed the first docs and got a 20 images sample displaying at web page.

However I really need to obtain pictures from a certain place (city, in my case). Working with Twitter API I used to look for the WOEID for the wanted place. Here it seems to be quite similar.

I read Instagram docs:

DISTANCE    Default is 1000m (distance=1000), max distance is 5000.
FACEBOOK_PLACES_ID  Returns a location mapped off of a Facebook places id. If used, a Foursquare id and lat, lng are not required.
FOURSQUARE_ID   Returns a location mapped off of a foursquare v1 api location id. If used, you are not required to use lat and lng. Note that this method is deprecated; you should use the new foursquare IDs with V2 of their API.
LAT Latitude of the center search coordinate. If used, lng is required.
LNG Longitude of the center search coordinate. If used, lat is required.
FOURSQUARE_V2_ID    Returns a location mapped off of a foursquare v2 api location id. If used, you are not required to use lat and lng.

But where the hell can I obtain such ID's for a city. Let's say I want pictures tagged with dinner at Puebla, Mexico. What should I do.

I used this nice site to get an ID from my coordinates: http://maihamakyo.org/etc/locastagram/index.php

Tried this Java Script code then:

var feed = new Instafeed({
                get: 'tagged',
                location: '46016173',
                tagName: 'CLEU',
                clientId: '***'
})

feed.run();

but got not the expected result.

Foi útil?

Solução

As of version 1.3, you can add a filter function to Instafeed.js, to exclude images from the results.

So you should be able to set get: "location", and your locationId, and then filter out any images that don't contain the tag you're looking for:

var feed = new Instafeed({
  get: 'location',
  locationId: LOC_ID,
  // other settings omitted for example
  filter: function(image) {
    return image.tags.indexOf('TAG_NAME') >= 0;
  }
});
feed.run();

Update

The image parameter that gets passed to the filter function is the image data straight from Instagram's API. So you can filter on any criteria you want. Just make sure the function returns true or false:

filter: function(image) {
  if (image.tags.indexOf('TAG_NAME') >= 0 && image.filter === "Normal") {
    return true;
  }
  return false;
}

To get an idea of what properties that image object has, check this thread on GitHub.

Outras dicas

Looking at the instafeed.js documentation, the option name/key for location should be locationId.

I'm not familiar with the Instagram API, but the instafeed.js documentation hints heavily that get needs to be set to location to use a location ID. So it is very possible you can only search for a tag, or a location, but not both.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top