【问题标题】:Twitter v1.1: 400 Bad requestTwitter v1.1:400 错误请求
【发布时间】:2012-09-14 16:08:20
【问题描述】:

我在使用新的 Twitter API 时遇到问题:v1.0 可以正常运行,但是如果我将 URL 更改为 v1.1,我总是会收到错误“400 Bad request”(在 Firebug 中可以看到)。

例子:

https://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitterapi

这就像一个魅力,一切正常。 只需将 URL 更改为 .../1.1/...,我就会收到一个 Bad request 错误,甚至是 JSON 错误响应,甚至是一些内容。

https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterapi

注意:这不可能是速率限制,因为我是第一次访问该 URL。

【问题讨论】:

    标签: twitter


    【解决方案1】:

    https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterapi 将我重定向到https://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitterapi

    看起来1.11 相同

    UPD: Looks like this is a rate limit1.1 链接在 2 小时前为我工作)。即使您是第一次访问 API 页面,您的某些应用(桌面或移动)也可以使用 API 方法。

    UPD2: in 1.1 400 Bad request 表示您没有被自动化(https://dev.twitter.com/docs/error-codes-responses, https://dev.twitter.com/docs/auth/oauth#user-context)。所以你需要获取用户上下文

    【讨论】:

    • 在我使用的任何浏览器(Firefox、Chrome)中,我都会被重定向。你用什么浏览器? 1 将于 2013 年 3 月 5 日关闭。它与 1.1 不一样 - 看看这里:dev.twitter.com/blog/current-status-api-v1.1
    • @Poru,看起来像一个 twitter API 错误。现在我也收到了400 Bad Request
    • 我认为这是缺少用户上下文 + 库错误。我将我的库切换到 Zend_Service_Twitter,现在可以使用了。
    【解决方案2】:

    在使用 v1.1 api 之前,您需要使用 oauth 进行身份验证和授权 这是适用于 python tweepy 的东西 - 从用户时间轴获取状态

    def twitter_fetch(screen_name = "BBCNews",maxnumtweets=10):
       'Fetch tweets from @BBCNews'
        # API described at https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline
    
        consumer_token = '' #substitute values from twitter website
        consumer_secret = ''
        access_token = ''
        access_secret = ''
    
        auth = tweepy.OAuthHandler(consumer_token,consumer_secret)
        auth.set_access_token(access_token,access_secret)
    
        api  = tweepy.API(auth)
        #print api.me().name
        #api.update_status('Hello -tweepy + oauth!')
    
        for status in tweepy.Cursor(api.user_timeline,id=screen_name).items(2):
            print status.text+'\n'
    
    
    if __name__ == '__main__':
        twitter_fetch('BBCNews',10)
    

    【讨论】:

      【解决方案3】:

      对我来说,原因是推文所附媒体的大小。如果它是

      奇怪的是 Twitter 说推文限制是 3MB https://twittercommunity.com/t/getting-media-parameter-is-invalid-after-successfully-uploading-media/58354

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多