我需要找出用户是否喜欢特定媒体
就像我有username
和media_id
以及tag
一样,我需要找到用户喜欢的内容
媒体与否?
我只想使用username
和media_id
如下所示
当我查看喜欢的API文档时,没有这样的选项 http://instagram.com/developer/endpoints/likes/
OR
我也试过https://api.instagram.com/v1/media/555/likes?client_id=ABC
正如我所见,我需要获取整个数据,然后进行数组搜索..我觉得哪个不酷...
有没有简单的方法可以解决这个问题?
先谢谢
答案 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代码是什么。
答案 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