【问题标题】:Twitter API - 403 Forbidden ErrorTwitter API - 403 禁止错误
【发布时间】:2013-04-05 18:05:23
【问题描述】:

我有一个非常简单的 sn-p 代码,它一直工作到昨天,今天停止工作了?

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 上的速率,这在我刚刚打开本地服务器时似乎不太可能?

谢谢!

【问题讨论】:

  • 我在该 URL 上没有收到 403。
  • 知道为什么会出现这个错误吗?

标签: twitter


【解决方案1】:

我已经通过将消息字符长度减少到 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());
                    }
                });

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      还有一点。 如果您使用的是 API v1,例如这个库 https://github.com/twitter/hbc 用于访问流 API (https://stream.twitter.com)。

      您的项目需要拥有高级访问权限,并且您需要申请它,因为最初,它只有基本访问权限。该应用程序是免费的。

      您可以在此处查看您的项目是否具有提升访问权限 https://developer.twitter.com/en/portal/products/elevated

      【讨论】:

        【解决方案4】:

        非常非常非常重要:您需要在您的 twitter 开发者帐户中申请“Elevated”访问权限。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-05-16
          • 2013-03-15
          • 2021-12-31
          • 1970-01-01
          • 2018-11-24
          • 1970-01-01
          • 2015-04-19
          • 1970-01-01
          相关资源
          最近更新 更多