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

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

【问题讨论】:

    标签: api tags 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}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-28
        • 1970-01-01
        相关资源
        最近更新 更多