我们正在尝试使用 Java 来连接到omnature Rest API 1.4 以获取report.Get。我们无法创建连接。用户 ID 和密码在 UI 上工作正常,但在建立 HTTP 连接时,我们收到 400 错误请求。相同的代码可以与company.reportSuites 方法的rest API 1.3 配合使用。创建输入流时失败的代码。我们确实检查了连接的 HTTP 响应代码,它也是 400。
public class OMTR_REST {
private static String USERNAME = "XXXXXXX";
private static String PASSWORD = "xXXXXXXXX";
private static String ENDPOINT = "https://api.omniture.com/admin/1.4/rest/"; //san jose endpoint, change for your company's datacenter
private OMTR_REST() {}
public static String callMethod(String method, String data) throws IOException {
URL url = new URL(ENDPOINT + "?method=" + method);
URLConnection connection = url.openConnection();
connection.addRequestProperty("X-WSSE", getHeader());
connection.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
wr.write(data);
wr.flush();
InputStream in = connection.getInputStream();
BufferedReader res = new BufferedReader(new InputStreamReader(in, "UTF-8"));
StringBuffer sBuffer = new StringBuffer();
String inputLine;
while ((inputLine = res.readLine()) != null)
sBuffer.append(inputLine);
res.close();
return sBuffer.toString();
最佳答案
API 从版本 1.3 更改为 1.4。如果报表未准备好,Get 方法现在会返回状态 400。对我来说,当报告未准备好时返回 HTTP 400 错误(错误请求)是一个糟糕的选择,但这就是他们正在做的事情。请参阅下面文档中的第 13 页。
关于java - 无法连接到omnature Rest API 1.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24407576/