403: запрос понят, но ему отказали в Twitter Android

Я пытаюсь твитнуть в твиттере с Android. Теперь для этого я создал приложение на dev.twitter и скачал пример кода по этой ссылке и обновил оба ключа ключами моего приложения.

Теперь я запускаю код для проверки подлинности учетной записи, и после него я чирикаю, и этот твит включает изображение и текст, оба изображения были по 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)

4 ответа

Решение

У меня была та же самая ошибка, и обновление до последней версии twitter4j 3.0.5 (на момент написания этой статьи) устранило проблему.

Получить последнюю версию здесь http://twitter4j.org/en/index.html

РЕДАКТИРОВАТЬ: я должен отметить, что версия, которую я использовал, была twitter4j 3.0.3. Таким образом, переход на версию 3.0.5 или 3.0.6 исправил проблему для меня.

В

ConfigurationBuilder cb = new ConfigurationBuilder();

добавить cb.setUseSSL(true)

это будет работать

Перенаправление URL ssl необходимо убедиться, что ваше приложение работает на https.

Я столкнулся с этой ошибкой, когда хотел поделиться изображением с неправильным URL. Оказалось, я установил неправильную папку в URL, Twitter не нашел изображение, поэтому выдает ошибку. Вопрос в том, почему они показывают эту ошибку, а не что-то вроде "неправильный URL".

Вы также можете столкнуться с этой ошибкой, когда пытаетесь опубликовать более длинный текст. Я столкнулся с этим, когда я хотел поделиться текстом (124 символа) и ссылкой (10) символов, и это не позволило мне опубликовать его.

Когда у тебя есть 403:The request is understood, but it has been refusedу вас также есть код ошибки, объясняющий, что именно было не так. Это помогло мне понять причину.

Объяснение кодов ошибок вы можете увидеть здесь: https://developer.twitter.com/en/support/twitter-api/error-troubleshooting

Нашел эту проблему снова в нестабильной версии 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>
Другие вопросы по тегам