Re: [問題] Plurk API 範例不能執行
借標題發問
關於這個API範例
我自己有用Android試過
有時候可以成功發送訊息到plurk上面
但是並不是每次都會成功
大概是第一次執行程式或者隔很久才重新run一次時才會成功
以下是問題點
第一次的httpget時並不會有問題 就是輸入API_KEY和帳密的那些
第二次使用時(如以下範例程式碼)
httpget = new HttpGet(getApiUri("/Timeline/plurkAdd?"+
"api_key=" + API_KEY + "&" +
"content=" + "Hello+nasty" + "&" +
"qualifier=" + "loves" + "&" +
"lang=en"
));
ResponseHandler responseHandler=new BasicResponseHandler();
↓↓ 這裡總是會跑進去IOException裡面
try {
httpclient.execute(httpget, responseHandler);
} catch (ClientProtocolException e)
e.printStackTrace()
} catch (IOException e) {
e.printStackTrace();
}
然後以下大概是DDMS給我落落長的錯誤訊息
at org.apache.http.client.HttpResponseException: BAD REQUEST
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:71)
at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:59)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
at c.bb.main.onCreate(main.java:80)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
at android.app.ActivityThread.access$1800(ActivityThread.java:112)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3948)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
at dalvik.system.NativeStart.main(Native Method)
我不知道底這個問題應該要怎麼解決
或許是Android emulator本身的問題吧
真是超奇怪的@@~
※ 引述《erotic (eRoTiC)》之銘言:
: 以下分享我的使用心得:
: 官方提供的 Java 範例碼:
: http://www.plurk.com/API/issueKey#java_example
: API key 申請網址:http://www.plurk.com/API
: 下載 Apache's HttpClient Library:http://hc.apache.org/httpcomponents-client/
: 範例碼需要修改的地方:
: 一、
: private static String API_KEY = "dKkIdUCoHo7vUDPjd3zE0bRvdm5a9sQi";
: 要把 dKkIdUCoHo7vUDPjd3zE0bRvdm5a9sQi 換成自己申請到的 API key,
: 二、
: HttpGet httpget = new HttpGet(getApiUri("/Users/login?"+
: "api_key=" + API_KEY + "&" +
: "username=" + "user_x" + "&" +
: "password=" + "user_x_pw"
: ));
: user_x 與 user_x_pw 要用自己實際的 Plurk 帳號/密碼取代,
: 而且在執行程式前,要先登入自己的 Plurk。
: 三、
: httpget = new HttpGet(getApiUri("/Timeline/plurkAdd?"+
: "api_key=" + API_KEY + "&" +
: "content=" + "Plurk+API+測試" + "&" +
: "qualifier=" + "says" + "&" +
: "qualifier_translated=" + "說" + "&" +
: "lang=tr_ch"
: ));
: content:要發送的訊息
: qualifier:設定英文的修飾語,例如:says, likes, shares, gives... 等
: qualifier_translated:將英文的修飾語改成其它語言的修飾語
: lang:設定修飾語的語言,en代表英文,tr_ch代表正體中文
: 這樣就可以正常執行程式了 = =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.120.215
推
01/01 21:02, , 1F
01/01 21:02, 1F
→
01/02 03:04, , 2F
01/02 03:04, 2F
這或許有可能是原因吧
就我自己在程式碼裡面修改"content"的內容
然後再compile讓他去跑一次
重複動作
其實還是會出現一樣的問題
後來我自己弄了一個EditText
在執行時手動輸入文字就都可以送出訊息了
※ 編輯: csf90082 來自: 112.104.120.215 (01/02 20:44)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):