Twitter API - 403禁止错误

时间:2013-04-13 05:05:05

标签: twitter

我有一段非常简单的代码片段,它一直工作到昨天,并且今天已经停止工作了吗?

var url = 'http://search.twitter.com/search.json?q=dogs?callback=?';
var reddit = 'http://reddit.com/r/technology.json?callback=?';

$.getJSON(url, function(data) { 
    console.log(data);
});

//Error - GET http://search.twitter.com/search.json?q=dogs?callback=jQuery172082220473815687_1365829251904&_=1365829251949 403 (Forbidden) 

以下是来源 - http://jsfiddle.net/ZeuKp/2

任何人都可以告诉我为什么会收到403错误。我是否超过了API的速率,这似乎不太可能,因为我刚开启本地服务器?

谢谢!

2 个答案:

答案 0 :(得分:2)

我已经通过将消息字符长度减少到140来解决了这个问题。这里定义https://dev.twitter.com/overview/api/counting-characters

此外,您可以通过将TwitterException转换为TwitterApiException来检查errrorCode和errorMessage。

 statusesService.update(newMessage, null, null, null,
                null, null, null, null, null, new Callback<Tweet>() {
                   @Override
                    public void success(Result<Tweet> result) {
                        Debugger.i("success", result.toString());
                    }
                 @Override
                    public void failure(TwitterException e) {
                        TwitterApiException twitterApiException = (TwitterApiException) e;
                       Debugger.e("failure", "getErrorCode() : " + twitterApiException.getErrorCode());
                        Debugger.e("failure", "getErrorMessage() : " + twitterApiException.getErrorMessage());
                    }
                });

答案 1 :(得分:1)

1月14日,Twitter对其进行了更改,以便在使用其API时仅允许SSL / HTTPS连接。

403错误是您尚未在应用中切换到SSL / HTTPS的常见迹象。

http://www.zdnet.com/twitter-enforces-ssl-encryption-for-apps-connecting-to-its-api-7000025138/