403:该请求被理解,但它已被Twitter Android拒绝

时间:2013-10-04 06:38:06

标签: android android-twitter

我正试图在Twitter上推特发推文。现在,我已经在dev.twitter上创建了一个应用程序,并从this link下载了示例代码,并使用我的应用程序密钥更新了这两个密钥。

现在我运行代码验证帐户,然后我发推文,这条推文包括图像和文本,两个图像都在URL上,如示例代码中所定义。现在我第一次向我显示图像和文本已成功上传,但当我再次尝试推文时,它给出了403状态更新错误。

为此,我更改了文本消息“状态文本”和图像URL,但它仍然给我“403状态”更新错误。 我使用与示例代码中编写的代码相同的代码只更改了密钥。

这是我的Logcat:

10-04 11:26:25.015: W/System.err(22822): 403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following).
10-04 11:26:25.015: W/System.err(22822): message - Error creating status.
10-04 11:26:25.015: W/System.err(22822): code - 189
10-04 11:26:25.025: W/System.err(22822): Relevant discussions can be found on the Internet at:
10-04 11:26:25.025: W/System.err(22822):    http://www.google.co.jp/search?q=b2b52c28 or
10-04 11:26:25.025: W/System.err(22822):    http://www.google.co.jp/search?q=11331d43
10-04 11:26:25.025: W/System.err(22822): TwitterException{exceptionCode=[b2b52c28-11331d43], statusCode=403, message=Error creating status., code=189, retryAfter=-1, rateLimitStatus=null, version=3.0.3}
10-04 11:26:25.025: W/System.err(22822):    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
10-04 11:26:25.025: W/System.err(22822):    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
10-04 11:26:25.025: W/System.err(22822):    at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:98)
10-04 11:26:25.030: W/System.err(22822):    at twitter4j.TwitterImpl.post(TwitterImpl.java:1871)
10-04 11:26:25.030: W/System.err(22822):    at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:252)
10-04 11:26:25.030: W/System.err(22822):    at chintan.khetiya.android.Twitter_code.Twitt_Sharing.Share_Pic_Text_Titter(Twitt_Sharing.java:126)
10-04 11:26:25.030: W/System.err(22822):    at chintan.khetiya.android.Twitter_code.Twitt_Sharing$PostTwittTask.doInBackground(Twitt_Sharing.java:91)
10-04 11:26:25.030: W/System.err(22822):    at chintan.khetiya.android.Twitter_code.Twitt_Sharing$PostTwittTask.doInBackground(Twitt_Sharing.java:1)
10-04 11:26:25.030: W/System.err(22822):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-04 11:26:25.035: W/System.err(22822):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-04 11:26:25.035: W/System.err(22822):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-04 11:26:25.040: W/System.err(22822):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-04 11:26:25.040: W/System.err(22822):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-04 11:26:25.040: W/System.err(22822):    at java.lang.Thread.run(Thread.java:856)

5 个答案:

答案 0 :(得分:36)

我遇到了同样的错误,并且升级到最新版本的twitter4j 3.0.5(在撰写本文时)修复了这个问题。

在此处获取最新信息http://twitter4j.org/en/index.html#download

编辑:我应该提到我运行的版本是twitter4j 3.0.3。因此,通过转到3.0.5或3.0.6版本为我解决了问题。

答案 1 :(得分:0)

in

ConfigurationBuilder cb = new ConfigurationBuilder();

添加 cb.setUseSSL(真)

它会起作用

重定向url ssl required确保您的应用程序在https上运行。

答案 2 :(得分:0)

当我想与错误的网址共享图片时遇到此错误。原来我在网址中设置了错误的文件夹,Twitter没有找到图像因此抛出错误。问题是,为什么他们会显示此错误而不是像#34;错误的网址"。

当您尝试发布较长的文本时,也可能会遇到此错误。当我想分享一个文本(124个字符)和一个链接(10个)字符时,我遇到了这个问题,并且它没有让我发布它。

答案 3 :(得分:0)

在非稳定版本4.0.6中再次发现此问题。

尝试不使用maven的方式在twitteer4j的网站上指定,这是:

 <dependencies>
      <dependency>
           <groupId>org.twitter4j</groupId>
           <artifactId>twitter4j-core</artifactId>
           <version>[4.0,)</version>
       </dependency>
       ...
   </dependencies>

相反,设置一个特定版本(当前稳定版本为4.0.4并修复此问题,但[4.0,]从4.0获得最新版本,因此4.0.6)

 <dependencies>
      <dependency>
           <groupId>org.twitter4j</groupId>
           <artifactId>twitter4j-core</artifactId>
           <version>4.0.4</version>
       </dependency>
       ...
   </dependencies>

答案 4 :(得分:0)

当您拥有403:The request is understood, but it has been refused时,您还会得到错误代码,该错误代码说明了确切的错误所在。它帮助我理解了原因。

您可以在此处查看错误代码的说明:https://developer.twitter.com/en/support/twitter-api/error-troubleshooting