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 获取所有带有 PHP 特定标签的照片 [关闭]
有啥方法可以在不使用访问令牌/客户端 ID 的情况下获取特定主题标签的 Instagram 图像?