Instagram API 用于获取带有特定主题标签的图片 [关闭]

Posted

技术标签:

【中文标题】Instagram API 用于获取带有特定主题标签的图片 [关闭]【英文标题】:Instagram API to fetch pictures with specific hashtags [closed] 【发布时间】:2012-11-01 12:48:36 【问题描述】:

我想使用 php 从 Instagram 获取所有带有特定哈希标签的图片。我该怎么做?

【问题讨论】:

【参考方案1】:

首先,Instagram API 端点“标签”需要 OAuth 身份验证。

您可以使用以下网址查询特定主题标签(在本例中为雪)的结果

速率限制为每小时 5000 (X-Ratelimit-Limit:5000)

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

示例响应


  "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"
      
    

你可以在这里玩:

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%22template%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

您需要使用“身份验证”作为 OAuth 2,系统会提示您通过 Instagram 登录。 发布您可能需要在“模板”部分重新输入“标签名称”。

所有与分页相关的数据都在响应中的“分页”参数中可用,并使用它的“next_url”来查询下一组结果。

【讨论】:

如何获取下一页网址?我的意思是在 php 或 javascript 中获得下一组响应? 在响应中使用“next_url”来查询进一步的结果。您可以在instagram.com/developer/endpoints“分页”部分阅读更多内容。 现在看来此端点已被弃用。我收到的具体回复是:"meta": "code": 400, "error_type": "APINotAllowedError", "error_message": "此端点已停用" @JaspalSingh apigee的链接失效了【参考方案2】:

目前尚无法使用多个标签搜索内容,目前仅支持单个标签。

首先,Instagram API 端点“标签”需要 OAuth 身份验证。

这并不完全正确,您只需要一个 API-Key。只需register 一个应用程序并将其添加到您的请求中。 示例:

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

另请注意,用户名不是用户 ID。你可以查一下user-Id的here.

搜索多个关键字的解决方法是,您为每个标签启动一个请求并比较服务器上的结果。当然,这可能会降低您的网站速度,具体取决于您要比较的关键字数量。

【讨论】:

【参考方案3】:

看看这里为了开始: http://instagram.com/developer/

然后为了按标签检索图片,请看这里: http://instagram.com/developer/endpoints/tags/

从 Instagram 获取标签不需要 OAuth,因此您可以通过以下 URL 进行调用:

GET IMAGES https://api.instagram.com/v1/tags/tag-name/media/recent?access_token=TOKEN

SEARCH https://api.instagram.com/v1/tags/search?q=tag-query&access_token=TOKEN

TAG INFO https://api.instagram.com/v1/tags/tag-name?access_token=TOKEN

【讨论】:

以上是关于Instagram API 用于获取带有特定主题标签的图片 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Instagram 获取带有标签的帖子

从 Instagram 获取所有带有 PHP 特定标签的照片 [关闭]

有啥方法可以在不使用访问令牌/客户端 ID 的情况下获取特定主题标签的 Instagram 图像?

获取Instagram的权限public_content

使用带有永久页面访问令牌的 Instagram Graph Api 仅适用于某些帐户

如何从特定标签中获取 Instagram 用户名