gpt4 book ai didi

java-me:HttpConnection 无法写入 Instagram API 请求的正文

转载 作者:行者123 更新时间:2023-11-30 09:18:15 24 4
gpt4 key购买 nike

我有一个在 J2ME 上运行的应用程序需要访问 Instagram API。具体来说,我需要发表评论。这是一个 Post 方法。因此,我尝试使用 HttpConnection.setRequestProperty() 将“文本”参数添加到请求正文中,但这似乎不起作用,因为 Instagram 无法识别该参数的存在。我认为这种方法无法将参数写入 Http 请求的主体。知道如何在 j2me 中完成这项工作吗?

这是我的代码:

    InputStream is = null;

ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] response = null;
HttpConnection connection = null;

String url = "";
try {
url = "https://api.instagram.com/v1/media/" + mediaId + "/comments?access_token="+InstagramAPIUtil.accessTokenTest;// POST
url = Util.urlEncodeSpaces(url);


System.out.println(url);
connection = (HttpConnection)Connector.open(url,Connector.READ_WRITE);

connection.setRequestMethod(HttpConnection.POST);

connection.setRequestProperty("text", comment);

if (connection.getResponseCode() == HttpConnection.HTTP_OK) {
is = connection.openInputStream();

if (is != null) {
int ch = -1;

while ((ch = is.read()) != -1) {
bos.write(ch);
}

response = bos.toByteArray();
}
System.out.println("response: "+new String(response));
System.out.println("request: "+connection.getRequestProperty("text"));
return true;
}

这是我从 Instagram 返回的信息:

{"meta":{"error_type":"APIInvalidParametersError","code":400,"error_message":"Missing 'text'"}}

最佳答案

我在 HTTP 领域没有太多经验,但我认为您需要写入可以从 connection 获得的输出流。我看不到您在代码中的哪个位置发送了实际数据。

  HttpURLConnection c = (HttpURLConnection) new URL("").openConnection();
OutputStream out = c.getOutputStream();
InputStream in = c.getInputStream();

关于java-me:HttpConnection 无法写入 Instagram API 请求的正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577084/

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