2

我在使用新的 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。

4

3 回答 3

2

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.1是一样的东西1

UPD: 看起来这是一个速率限制(因为1.1链接在 2 小时前为我工作)。即使您是第一次点击 API 页面,您的某些应用程序(桌面或移动)也可以使用 API 方法。

UPD2:1.1 400 错误请求中意味着您没有被自动化(https://dev.twitter.com/docs/error-codes-responseshttps://dev.twitter.com/docs/auth/oauth#user-context)。所以你需要获取用户上下文

于 2012-09-22T13:06:10.433 回答
1

在使用 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)
于 2013-06-04T19:09:46.423 回答
0

对我来说,原因是附加到推文的媒体的大小。如果它小于 1.2MB,它就可以通过,但如果它结束了,我每次都会收到 400 错误。

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

于 2016-03-18T08:11:16.163 回答