gpt4 book ai didi

java - 如何为 Imgflip API 实现 post 方法

转载 作者:行者123 更新时间:2023-12-02 05:20:35 24 4
gpt4 key购买 nike

我正在尝试在 android studio 上创建一个应用程序,但我对这个 IDE 和语言不熟悉。我设法为 Imflip api 实现 GET 方法,但我坚持使用 POST 方法。我想返回一个带有用户添加的标题的 Meme。

我使用的是 Android Studio 3.4.1。我已经尝试过附加的代码。出于测试目的,我对用户名、密码和两个标题进行了硬编码。另外,当我调用 POST() 时,我将 id 61579 作为参数传递。我尝试找到他的响应值,但它说它是“200”...

我需要的是创建的 meme 的 url。

希望大家能帮忙。提前致谢。

private void POST(String memeID) {
try {
RequestQueue requestQueue = Volley.newRequestQueue(this);
String URL = "https://api.imgflip.com/caption_image";
JSONObject jsonBody = new JSONObject();
jsonBody.put("template_id", memeID);
jsonBody.put("username", "Meme_Genie");
jsonBody.put("password", "Password");
jsonBody.put("text0", "Hello");
jsonBody.put("text1", "World");
final String requestBody = jsonBody.toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("VOLLEY", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("VOLLEY", error.toString());
}
}) {
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}

@Override
public byte[] getBody() throws AuthFailureError {
try {
return requestBody == null ? null : requestBody.getBytes("utf-8");
} catch (UnsupportedEncodingException uee) {
VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8");
return null;
}
}

@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
String responseString = "";
if (response != null) {
responseString = String.valueOf(response.statusCode);
// can get more details such as response.headers
}
return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response));
}
};

requestQueue.add(stringRequest);
} catch (JSONException e) {
e.printStackTrace();
}

}

最佳答案

从encode = "json"切换到encode = "form"

或者将您的正文切换为 BodySerializationMethod.UrlEncoded 即可

关于java - 如何为 Imgflip API 实现 post 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com