这个问题已经被问到,但我的问题仍然存在。
final String info = "{\"tweet\":\"example\"}";
String url = "https://api.orchestrate.io/v0" + "/" + "roars/seinecle/events/?pretty=true";
ConnectionRequest request = new ConnectionRequest() {
@Override
protected void buildRequestBody(OutputStream os) throws IOException {
os.write(info.getBytes("UTF-8"));
}
};
request.setUrl(url);
request.setPost(true);
request.setHttpMethod("PUT");
request.setContentType("application/json");
request.addRequestHeader("Authorization", "Basic MzUzOThlOTQtZjUzMy00ZGZkLTgx==");
我收到401错误。辅助控制台说我应该写一个请求:
答案 0 :(得分:0)
这对我们有用:
String encoded = Base64.encodeNoNewline((user + ":" + pass).getBytes());
auth.addRequestHeader("Authorization", "Basic " + encoded);
看起来你正在进行Twitter连接,查看我们旧的TwitterRESTService
类及其在git存储库中的源代码。它有点过时了。
另请查看我们如何编写可能解决此问题的UTF-8:
if(shouldWriteUTFAsGetBytes()) {
os.write(val.toString().getBytes("UTF-8"));
} else {
OutputStreamWriter w = new OutputStreamWriter(os, "UTF-8");
w.write(val.toString());
}
Java实现之间存在细微差别,这些差异可能仅适用于一个而不适用于另一个。
您可能还需要在邮件正文之前或之后添加换行符。
我建议在模拟器工具中使用我们的网络监视器并查看传出请求。