0

こんにちはこのjsonベースのAPIを使用してAndroidでHTTPPOSTリクエストを適切に行うにはどうすればよいですか。

curl -H "Content-type: application/json" -X POST \
-d '{    
  "service_key": "e93facc04764012d7bfb002500d5d1a6",
  "incident_key": "srv01/HTTP",
  "event_type": "trigger",
  "description": "FAILURE for production/HTTP on machine srv01.acme.com"
  }
}' \
"https://events.pagerduty.com/generic/2010-04-15/create_event.json"

私はこのコードを持っていますが、400のステータスエラーが発生しています-https://gist.github.com/26af7af09b509c0e8c2a#comments

4

2 に答える 2

0

ネットワークへのアクセス許可をリクエストしましたか?この質問を参照してください(重複の可能性があります):

androidでHTTPリクエストを作成する

<uses-permission android:name="android.permission.INTERNET" />

マニフェストに含める必要があります。

于 2012-12-10T16:03:29.267 に答える
0

私はここのどこかでいくつかのコードを手に入れました、そしてそれはうまくいきました... :)

public void requestAction(String service_key, String event_type, String incident_key, String description) 
{
    HttpClient hc = new DefaultHttpClient();
    String message;
    HttpPost p = new HttpPost("https://events.pagerduty.com/generic/2010-04-15/create_event.json");
    JSONObject object = new JSONObject();
    try 
    {
        object.put("service_key", service_key); 
        object.put("event_type", event_type);
        object.put("incident_key", incident_key);
        object.put("description","PI RedPhone: "+description);
    } 
    catch (Exception ex) 
    { }
    try 
    {
        message = object.toString();
        p.setEntity(new StringEntity(message, "UTF8"));
        p.setHeader("Content-type", "application/json");
        HttpResponse resp = hc.execute(p);
        Log.d("Status line", "" + resp.getStatusLine().getStatusCode());
    } catch (Exception e) 
        {e.printStackTrace();}

}
于 2012-12-13T16:37:36.900 に答える