2016-07-23 8 views
0

私は解決できなかった問題があります。AndroidアプリをLaravel APIに接続していますが、すべてうまくいきますが、送信しようとするとPost要求のJsonObjectは500を返します(私は500はサーバー側のエラーですが、Dingoはそのコードをスローしたいと思います)。 問題は、私は文字列変数名でJsonObjectを送信するときにこのエラーが発生しますが、リテラルStringを送信するとすべて正常に動作します。すでにUTF-8にエンコードしようとしました。どうなり得るか?私は下に自分のコードを残します。Jsonオブジェクトでポストリクエストを行うときにアンドロイドの文字列

それが動作します。この方法:

ます。private void authorizeClient(文字列名、文字列の秘密、文字列ID){

RequestQueue requestQueue = Volley.newRequestQueue(this); 
    JSONObject jsonObject = new JSONObject(); 
    try{ 
     String secretFinal = URLEncoder.encode(secret, "UTF-8"); 
     jsonObject.put("grant_type", "client_credentials"); 
     jsonObject.put("name", name); 
     jsonObject.put("client_secret", "c3melO2KvDQ:APA91bHYvSUJsSkB3dOKwk8zfgG0"); 
     jsonObject.put("client_id","287cdh27ldns7isvw7e3sd47ngau37t449123456"); 

、それは仕事をdoesntのこの方法:

ます。private void authorizeClient(文字列名、String secret、String ID){

RequestQueue requestQueue = Volley.newRequestQueue(this); 
    JSONObject jsonObject = new JSONObject(); 
    try{ 
     String secretFinal = URLEncoder.encode(secret, "UTF-8"); 
     jsonObject.put("grant_type", "client_credentials"); 
     jsonObject.put("name", name); 
     jsonObject.put("client_secret", secret); 
     jsonObject.put("client_id",ID); 
+1

2番目のコードスニペットではsecretFinalを使用していません。それがうまくいかない理由ですか? – greenrobo

+0

私は秘密の秘密の両方で試してみました。また、私は文字列を1つずつ交換しようとしますが、名前文字列はうまくいきますが、秘密とIDはありません。私はそれが持っているsimbolsやエンコーディングと関係があるかどうかは分かりません。 –

答えて

0

ありがとうございました。データベースが許さないStringの長さでした。部分文字列を作ることで修正しました。

関連する問題