J'essaie de créer un nouveau document dans la base de données cloudant en utilisant la demande de post J'ai joint mon code android, s'il vous plaît laissez-moi savoir ce qu'il faut faire pour créer un document et insérer deux J'ai joint le code pour lequel je reçois 403 comme réponse.créer un document dans cloudant en utilisant la demande de poste
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private String url = "https:bluemix.cloudant.com/databasename/documentname";
private String REV;
enter code here
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void postreq(View view) {
HashMap<String, Object> map = new HashMap<String, Object>();
//data in document
map.put("_id", "123");
map.put("value1", "1567");
map.put("value2", "1545");
JsonObjectRequest jar1 = new JsonObjectRequest(Request.Method.POST, url, new JSONObject(map), new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONObject jsonObject = new JSONObject(response.toString());
REV = jsonObject.getString("rev");
} catch (JSONException e) {
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Json Error Res: ", "" + error);
}
}){
@Override
public Map<String, String> getHeaders() {
Map<String, String> params = new HashMap<String, String>();
String credentials = "abcd:XYZ";
//key:Password
String auth = "Basic "
+ Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);
// Log.e("qqqq", auth);
params.put("Authorization", auth);
params.put("Content-Type", "application/json");
params.put("Accept","application/json");
return params;
}
};
RequestQueue req = Volley.newRequestQueue(this);
req.add(jar1);
}}
Merci à l'avance.
l'URL utilisée dans le programme est correct, je viens d'éditer, il est sous forme « https: // XYZ (nom d'utilisateur) -bluemix.cloudant.com/databasename/documentname~~V~~singular~~3rd » –
si vous voulez Pour créer un document nommé, vous devez effectuer une demande PUT (https://console.ng.bluemix.net/docs/services/Cloudant/api/document.html#update). Pour les requêtes POST, votre URL ne doit pas contenir le '/ documentname' (https://console.ng.bluemix.net/docs/services/Cloudant/api/document.html#create) –