json リクエストで user という zen デスク API をヒットしようとすると、API は正常にヒットしますが、エラーName: is too short (minimum one character) が発生します
リクエストをログに記録し、このリクエストを POSTER ツールでテストしたところ、試みに成功したときに zend 側でアカウントが作成されました
しかし、上記のエラーを取得するJavaコードで同じことを試みたとき、この問題で私を助けてください
ログに記録されたリクエストは
{
"user":
{
"name":"TEST CASE2",
"email":"case22@gmail.com",
"external_id":"5335356",
"role":"end-user",
"verified":"true"
}
}
そして私のコードは
public static void createUser(String name, String email, String spAccountId,String verified) {
HttpClient c = new DefaultHttpClient();
String serviceUrl = "https://domain/api/v2/users.json";
HttpPost p = new HttpPost(serviceUrl);
p.setHeader("ContentType", "application/json");
p.setHeader("Accept", "application/json");
p.setHeader("Authorization","Basic tyytytreytytytreytytre=");
JsonObject jsonObjectRepresentation = Json.createObjectBuilder()
.add("user", Json.createObjectBuilder()
.add("name", name)
.add("email", email)
.add("external_id", spAccountId)
.add("role", "end-user")
.add("verified", verified).build()).build();
System.out.println(jsonObjectRepresentation.toString());
p.setEntity(new StringEntity(jsonObjectRepresentation.toString(), "UTF-8"));
HttpResponse r = c.execute(p);
JsonReader reader = Json.createReader(new InputStreamReader(r.getEntity().getContent()));
JsonObject jsonObject = reader.readObject();
reader.close();
System.out.println("jsonObject@@@@@@@"+jsonObject);
}
私のJavaコードから出力
{"error":"RecordInvalid","description":"Record validation errors","details":{"name":[{"description":"Name: is too short (minimum one character)"}]}}
ポスターツールからの出力:
{"user":{"id":502206130,"url":"https://domain.zendesk.com/api/v2/users/502206130.json","name":"TEST CASE3","email":"case3@me.com","created_at":"2014-07-17T08:12:04Z","updated_at":"2014-07-17T08:12:05Z","time_zone":"Hawaii","phone":null,"photo":null,"locale_id":16,"locale":"fr","organization_id":null,"role":"end-user","verified":true,"external_id":"434355","tags":[],"alias":null,"active":true,"shared":false,"shared_agent":false,"last_login_at":null,"signature":null,"details":null,"notes":null,"custom_role_id":null,"moderator":false,"ticket_restriction":"requested","only_private_comments":false,"restricted_agent":true,"suspended":false,"user_fields":{"abonnement_internet":null,"betapass":null,"box":null,"commune":null,"dcodeur_tns_tnt":null,"mac":null,"position_du_routeur":null,"routeur":null,"serial":null,"subscription":null}}}