Instagram喜欢用户名和media_id进行API搜索

时间:2014-07-28 16:07:44

标签: php api rest curl instagram

我需要找出用户是否喜欢特定媒体

就像我有usernamemedia_id以及tag一样,我需要找到用户喜欢的内容 媒体与否?

我只想使用usernamemedia_id

在Instagram数据库中进行搜索

如下所示

  

https://api.instagram.com/v1/media/555/likes?client_id=45b95681ac624228a40cddca1e087943&username=basedyl

     

https://api.instagram.com/v1/users/self/media/liked?access_token=38215261.f59def8.e202d307d1d64a70ac134b544eb8da3d&media_id=7007

当我查看喜欢的API文档时,没有这样的选项 http://instagram.com/developer/endpoints/likes/

OR

我也试过https://api.instagram.com/v1/media/555/likes?client_id=ABC

正如我所见,我需要获取整个数据,然后进行数组搜索..我觉得哪个不酷...

有没有简单的方法可以解决这个问题?

先谢谢

3 个答案:

答案 0 :(得分:3)

经过长时间的试验,n错误得到了这个:

因为我有media_id我想要检查它的用户不喜欢

并且当前已登录的用户access_token,因此使用以下用户我能够找到用户是否喜欢该媒体

请检查以下参数的说明

  

max_like_id = $ media_id //媒体ID

     

count = 1 //我只想获取并只检查一个媒体

     

access_token = {$ insta_access_token} //它为当前用户提供access_token

        $is_liked_url = "https://api.instagram.com/v1/users/self/media/liked?access_token={$insta_access_token}&count=1&max_like_id={$media_id}";

参考:http://instagram.com/developer/endpoints/users/

GET /用户/自/媒体/喜欢

答案 1 :(得分:1)

只需使用:https://api.instagram.com/v1/media/MEDIA_ID?access_token=ACCESS-TOKEN

这将返回有关该媒体的所有信息,包括user_has_liked密钥,然后检查是否为真。我这样做是使用ajax的Javascript,所以我不确定php代码是什么。

http://instagram.com/developer/endpoints/media/

答案 2 :(得分:0)

我认为您需要使用Symmetric infinity来执行此操作。

以上参考文献中的示例源代码..

require 'restclient'
require 'json'
media_url = "https://api.instagram.com/v1/users/self/media/liked/?access_token=ACCESS_TOKEN"
urls = []


while media_url != nil
  response = RestClient.get(media_url)
  json = JSON.parse(response)
 media_url = json["pagination"]["next_url"]
  json["data"].each do |item|
urls << item["images"]["standard_resolution"]["url"]


end



  sleep 0.2

end

urls.each_with_index do |url, idx|
  image = RestClient.get(url)

 path = Dir.pwd + "/#{idx}.jpg"

  File.open(path, 'w') {|f| f.write(image) }

end