【问题标题】:Instagram liked API search with username and media_idInstagram 喜欢使用用户名和 media_id 进行 API 搜索
【发布时间】:2014-09-19 21:16:49
【问题描述】:

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

就像我有 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/

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

如我所见,我需要获取整个数据,然后进行数组搜索.. 我认为这不太酷..

有什么简单的方法可以解决这个问题吗?

多谢了

【问题讨论】:

    标签: php api rest curl instagram


    【解决方案1】:

    经过长时间的尝试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/users/self/media/like

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        我认为您需要使用 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
        

        【讨论】:

        猜你喜欢
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-26
        相关资源
        最近更新 更多