2013-06-23 40 views
-1

我目前在android教程的視頻10(http://marakana.com/s/post/1046/threading_android_demo)上,我很努力使狀態更新工作。發佈狀態更新時,我收到錯誤400? - JTwitter

當我使用JTwitter,揚巴庫提供我得到一個301異常說「301(永久移動)」

它實際上是能夠發佈狀態,但之後很快崩潰。

從這個計算器好像使用更新的JTwitter庫應該修復它: Authorization error with jTwitter for android

當我使用最新JTwitter庫(2.8.8),我收到以下錯誤:「HTTP \ 1.1錯誤的請求」

我也得到:

[06-23 00:05:13.244:E/AndroidRuntime(3329):{ 「錯誤」: 「客戶必須提供一個 '狀態' 參數有值」,」請求「:」/ api/statuses/update.json「} http://yamba.marakana.com/api/statuses/update.json ]

我不確定該怎麼辦..

任何幫助表示讚賞。

Fouad。

的StatusActivity.java代碼我使用:

package com.example.yamba; 

import winterwell.jtwitter.Twitter; 
import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.EditText; 

public class StatusActivity extends Activity { 

    EditText editStatus; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.status); // 

     editStatus = (EditText) findViewById(R.id.edit_status); 

    } 

    public void onClick(View v) { 
     final String statusText = editStatus.getText().toString(); 

     new Thread() { 
      @Override 
      public void run() { 
       Twitter twitter = new Twitter("student", "password"); 
       twitter.setAPIRootUrl("http://yamba.marakana.com/api"); // redirecting 
       twitter.setStatus(statusText); 

       Log.d("StatusActivity", statusText); 
      } 
     }.start(); 
     Log.d("StatusActivity", "Reached this point"); 

    } 
} 

的logcat的錯誤,我得到:

06-23 15:20:46.898: W/dalvikvm(28815): threadid=11: thread exiting with uncaught exception (group=0x41b91540) 
06-23 15:20:46.898: E/AndroidRuntime(28815): FATAL EXCEPTION: Thread-8268 
06-23 15:20:46.898: E/AndroidRuntime(28815): winterwell.jtwitter.TwitterException: 400 Bad Request 
06-23 15:20:46.898: E/AndroidRuntime(28815): HTTP/1.1 400 Bad Request 
06-23 15:20:46.898: E/AndroidRuntime(28815): {"error":"Too many duplicate messages too quickly; take a breather and post again in a few minutes.","request":"\/api\/statuses\/update.json"} http://yamba.marakana.com/api/statuses/update.json 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.URLConnectionHttpClient.processError(URLConnectionHttpClient.java:517) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.URLConnectionHttpClient.post2_connect(URLConnectionHttpClient.java:412) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.URLConnectionHttpClient.post2(URLConnectionHttpClient.java:378) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.URLConnectionHttpClient.post(URLConnectionHttpClient.java:347) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.Twitter.updateStatus(Twitter.java:2762) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.Twitter.updateStatus(Twitter.java:2694) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at winterwell.jtwitter.Twitter.setStatus(Twitter.java:2482) 
06-23 15:20:46.898: E/AndroidRuntime(28815): at com.example.yamba.StatusActivity$1.run(StatusActivity.java:31) 

回答

0

{"error":"Too many duplicate messages too quickly; take a breather and post again in a few minutes.","request":"/api/statuses/update.json"}

這是非常自我解釋。您一次又一次地發佈相同的消息。這用於防止垃圾郵件發送者濫用API。

+1

哈哈,是啊我不知道爲什麼我沒有看到這個錯誤!我一定是太累了,不能通知昨天,只看到之前的錯誤:) – fouadalnoor

0

其實,我想我找出了爲什麼它沒有工作過。當我嘗試一次發佈太多狀態更新時,它會阻止我!我猜測,當你張貼太多時,JTwitter不喜歡它,因爲它認爲你可能會濫用該系統?