Java EE を使用して、公開された API メソッド (この場合はワークスペースの更新) の 1 つで PUT 要求を実行することに成功したかどうか疑問に思っていました。
私は現在、次のスニペットを持っていますが、400 を取得しています。データ変数については、二重引用符を配置する場所、エンコードするものについて、おそらくすべての順列を試し、JSON も試しました。
String data = URLEncoder.encode("name=My Sandbox", "UTF-8")
URL url = new URL("https://app.asana.com/api/1.0/workspaces/7**********2");
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setRequestMethod("PUT");
String login = "dm**********************v8:";
String encodedLogin = new BASE64Encoder().encode(login.getBytes());
conn.setRequestProperty("Authorization", "Basic " + encodedLogin);
OutputStreamWriter wr = null;
conn.setDoOutput(true);
wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
wr.close();
rd.close();