Instagram Api请求系统性拒绝

时间:2015-04-17 23:07:44

标签: python json urllib2 urllib instagram-api

我一直使用instagram api的客户端ID和身份验证令牌来使用urllib和json发出请求。几天后,我为instagram帐户创建的任何客户端ID /身份验证令牌在我发出请求时系统地返回“HTTP错误400:BAD REQUEST”,它可以是like,follow或unfollow,它总是返回此错误。该脚本基于Python 2.7。 它以前工作得很好,在此之前创建的密钥仍然很好用!我尝试使用代理创建来自美国的新帐户和新密钥,但错误仍然存​​在..


以下是代码的一部分:

user_agent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7’
headers = { 'User-Agent' : user_agent,
            "Content-type": "application/x-www-form-urlencoded”

def likePicture(pictureId):
    liked = 0
    try:
        urlLike = "https://api.instagram.com/v1/media/%s/likes"
        values = {'access_token' : auth_token,
                  'client_id' : client_id}
        newLike = urlLike % (pictureId)
        data = urllib.urlencode(values)
        req = urllib2.Request(newLike,data,headers)
        response = urllib2.urlopen(req)
        result = response.read()
        dataObj = json.loads(result)
        liked = 1
    except Exception, e:
        print e
    return liked

print e系统地给了我“HTTP Error 400:BAD REQUEST”,即使密钥是全新的并且帐户是全新的。这段代码就像旧键上的魅力一样(从一周前开始)。 有什么想法或建议吗?也许因为我创建了许多客户端ID /身份验证令牌而被Instagram封锁了?如果是这样的话,如何解决这种情况呢? (我已经尝试使用不同的代理,不成功,那么他们将如何跟踪?)。如果有人找到解决这个问题的方法,我会非常感激他! 干杯,凯文

1 个答案:

答案 0 :(得分:2)

首先:

  

您可能还会收到HTTP响应代码为400的回复(错误   请求)如果我们使用您的应用检测到垃圾内容的行为。   这些错误与速率限制无关。

您是否已阅读"限制"来自API文档? 调用Instagram API方法时,它会发送两个HTTP标头:

  • X-Ratelimit-Remaining: 1小时内可用于您的应用的剩余通话数
  • X-Ratelimit-Limit: 1小时内允许的通话总数

请检查您是否已达到限制。

请记住,在短时间内拨打多个电话会被视为滥用。

了解更多:

P.S: 为了进行API调用,没有必要伪造标头!它不是网络抓取!