我需要找出用户是否喜欢特定的媒体
就像我有username
和media_id
以及tag
,我需要找到用户喜欢它是否有媒体
我只是想在instagram数据库中搜索使用username
和media_id
类似于
https://api.instagram.com/v1/media/555/likes?client_id=45b95681ac624228a40cddca1e087943&用户名= 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/
或
我也试过https://api.instagram.com/v1/media/555/likes?client_id=ABC
如我所见,我需要获取整个数据,然后进行数组搜索。我觉得这一点都不酷。
有什么简单的方法可以解决这个问题吗?thanks in advanced
经过长时间的尝试和错误得到了这个:
我想检查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/用户/自/媒体/喜欢
就用这个:https://api.instagram.com/v1/media/MEDIA_ID?access_token=ACCESS-TOKEN
这将返回关于该媒体的所有信息,包括user_has_like键,然后检查它是否为真。我这样做是Javascript使用ajax,所以我不确定php代码将是什么。
http://instagram.com/developer/endpoints/media/我认为你需要使用对称无限来做这件事。
上述参考资料中的示例源代码…
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