Essayer d'ajouter Mangnet Link à un compte de premiumze à l'aide de leur API https://app.swaggerhub.com/apis-docs/premiumize.me/api/1.4#/transfer/transfercreate .
Message de réponse:
code est comme suit: - p> {"statut": "erreur", "message": "src est manquant"}} code> p>
void pushMagnet(final String apiKey, final String magnetLink, final Context context) {
final String url = "https://premiumize.me/api/transfer/create?apikey=" + apiKey;
Map<String, String> magnetSrc = new HashMap<>();
//Parameters i want to send
magnetSrc.put("src", magnetLink);
RequestQueue queue = Volley.newRequestQueue(context);
JsonObjectRequest stringRequest = new JsonObjectRequest(Request.Method.POST, url,
//here added as an JSON Object
new JSONObject(magnetSrc),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e("Rest Response:", response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Rest Error:", error.toString());
}
}
) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("accept", "application/json");
headers.put("Content-Type", "multipart/form-data");
return headers;
}
};
queue.add(stringRequest);
}
3 Réponses :
La plupart probablement l'erreur est au paramètre de l'en-tête "Type de contenu" Strong>. p>
Vous avez utilisé des informations d'en-tête incorrectes Essayez d'ajouter le La soumission de multipardata est différente de la soumission de la forme normale. Vous devez utiliser la multiparentalité au lieu de la carte. p>
essayez de suivre ce lien pour les données multiparties: Comment envoyer un message" Multipart / Form-Data "dans Android avec Volley P>
J'espère que cela résoudra votre problème. P> "multiplactform / form-données" code> p>
"Type de contenu" Code> à
"Multipart / Form-Data" Code> sur les données d'en-tête. P>
Merci, édité le code, toutefois que l'erreur se produit toujours.
Oui, c'est exactement la même chose. Je reçois cette erreur même lorsque je ne écrase pas l'en-tête.
Utilisez des clients API de repos pour vous connecter avec le serveur et vérifier si l'appel de l'API fonctionne ou non.
Cette demande de courbure fonctionne: curl -x post "https://www.premiumize.me/api/transfer/create" -h "accepter: Application / JSON" -H "Type de contenu: Multipart / Form-Data "-F" src = samplemagneLink " code>
Utilisez cette bibliothèque et ce code: p> https://github.com/amitchekhariitbhu/fast-android-networking p>
Androidnetworking.Initialiser (contexte, client); devrait être sur ONCREATE de l'application.
Pour l'envoi de paramètres dans Volley, vous devez remplacer les getparams ()
En regardant le Swagger, vous devez ajouter trois paramètres différents, vous ajoutez-vous tous?
J'ai besoin de choisir l'un des deux premiers paramètres, le troisième est facultatif. e. g. Cette commande CURL fonctionne sans problème
curl -x post "https://www.premiumize.me/api/transfer/create" -h "accepter: application / json" -h "Type de contenu: multipart / formulaire Data "-F" src = samplemagneLink " code>
Vous êtes-vous assuré que le type de contenu est correct?
Comme indiqué par Tomin, le type de contenu était effectivement faux, mais je reçois toujours la même réponse de l'API