web-dev-qa-db-fra.com

API Instagram pour récupérer des photos avec des hashtags spécifiques

Je veux obtenir toutes les images avec une balise de hachage spécifique d'Instagram en utilisant PHP. Comment puis je faire ça?

24
Shaonline

Premièrement, les "balises" du point de terminaison de l'API Instagram exigeaient une authentification OAuth.

Vous pouvez interroger les résultats d'un hashtag particulier (neigeux dans ce cas) en utilisant l'url suivante

Il est limité à 5000 (limite X-Ratelimit: 5000) par heure

https://api.instagram.com/v1/tags/snowy/media/recent

Exemple de réponse

{
  "pagination":  {
    "next_max_tag_id": "1370433362010",
    "deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead",
    "next_max_id": "1370433362010",
    "next_min_id": "1370443976800",
    "min_tag_id": "1370443976800",
    "next_url": "https://api.instagram.com/v1/tags/snowy/media/recent?access_token=40480112.1fb234f.4866541998fd4656a2e2e2beaa5c4bb1&max_tag_id=1370433362010"
  },
  "meta":  {
    "code": 200
  },
  "data":  [
     {
      "attribution": null,
      "tags":  [
        "snowy"
      ],
      "type": "image",
      "location": null,
      "comments":  {
        "count": 0,
        "data":  []
      },
      "filter": null,
      "created_time": "1370418343",
      "link": "http://instagram.com/p/aK1yrGRi3l/",
      "likes":  {
        "count": 1,
        "data":  [
           {
            "username": "iri92lol",
            "profile_picture": "http://images.ak.instagram.com/profiles/profile_404174490_75sq_1370417509.jpg",
            "id": "404174490",
            "full_name": "Iri"
          }
        ]
      },
      "images":  {
        "low_resolution":  {
          "url": "http://distilleryimage1.s3.amazonaws.com/ecf272a2cdb311e2990322000a9f192c_6.jpg",
          "width": 306,
          "height": 306
        },
        "thumbnail":  {
          "url": "http://distilleryimage1.s3.amazonaws.com/ecf272a2cdb311e2990322000a9f192c_5.jpg",
          "width": 150,
          "height": 150
        },
        "standard_resolution":  {
          "url": "http://distilleryimage1.s3.amazonaws.com/ecf272a2cdb311e2990322000a9f192c_7.jpg",
          "width": 612,
          "height": 612
        }
      },
      "users_in_photo":  [],
      "caption":  {
        "created_time": "1370418353",
        "text": "#snowy",
        "from":  {
          "username": "iri92lol",
          "profile_picture": "http://images.ak.instagram.com/profiles/profile_404174490_75sq_1370417509.jpg",
          "id": "404174490",
          "full_name": "Iri"
        },
        "id": "471425773832908504"
      },
      "user_has_liked": false,
      "id": "471425689728724453_404174490",
      "user":  {
        "username": "iri92lol",
        "website": "",
        "profile_picture": "http://images.ak.instagram.com/profiles/profile_404174490_75sq_1370417509.jpg",
        "full_name": "Iri",
        "bio": "",
        "id": "404174490"
      }
    }
}

Vous pouvez jouer ici:

https://apigee.com/console/instagram?req=%7B%22resource%22%3A%22get_tags_media_recent%22%2C%22params%22%3A%7B%22query%22%3A%7B%7D % 2C% 22type% 22% 3A% 7B% 22tag-name% 22% 3A% 22snowy% 22% 7D% 2C% 22headers% 22% 3A% 7B% 7D% 2C% 22body% 22% 3A% 7B% 22attachmentFormat% 22 % 3A% 22mime% 22% 2C% 22attachmentContentDisposition% 22% 3A% 22form-data% 22% 7D% 7D% 2C% 22verb% 22% 3A% 22get% 22% 7D

Vous devez utiliser "Authentification" en tant que OAuth 2 et vous serez invité à vous connecter via Instagram. Signalez que vous devrez peut-être renommer le "tag-nom" dans la section "Modèle".

Toutes les données liées à la pagination sont disponibles dans le paramètre "pagination" dans la réponse et utilisez "next_url" pour rechercher le prochain ensemble de résultats.

15
Jaspal Singh

Il n'est pas encore possible de rechercher du contenu à l'aide de plusieurs balises, pour l'instant seules les balises uniques sont prises en charge.

Premièrement, les "balises" du point de terminaison de l'API Instagram exigeaient une authentification OAuth.

Ce n'est pas tout à fait vrai, vous n'avez besoin que d'une clé API. Juste inscrivez-vous une application et ajoutez-la à vos demandes. Exemple:

https://api.instagram.com/v1/users/userIdYouWantToGetMediaFrom/media/recent?client_id=yourAPIKey

Notez également que le nom d'utilisateur n'est pas l'ID utilisateur. Vous pouvez rechercher les ID utilisateur ici.

Une solution de contournement pour rechercher plusieurs mots clés serait de lancer une demande pour chaque balise et de comparer les résultats sur votre serveur. Bien sûr, cela pourrait ralentir votre site en fonction du nombre de mots clés que vous souhaitez comparer.

11
Felix Hagspiel

Jetez un œil ici pour commencer: http://instagram.com/developer/

puis pour récupérer des photos par tag, regardez ici: http://instagram.com/developer/endpoints/tags/

Obtenir des balises d'Instagram ne nécessite pas OAuth, vous pouvez donc passer les appels via ces URL:

GET IMAGEShttps://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token={TOKEN}

SEARCHhttps://api.instagram.com/v1/tags/search?q={tag-query}&access_token={TOKEN}

TAG INFOhttps://api.instagram.com/v1/tags/{tag-name}?access_token={TOKEN}

6
tcd