Я написал следующий код Java для создания корпоративного пользователя группы или коробки. Каждый раз он терпит неудачу с 400. После множества испытаний в формате ввода объекта JSON (больше двойных кавычек, одинарных кавычек, escape-символов и т. д.) мне удалось получить коды ошибок прямо из 400, 403, 404 и 409. В процесс, я также пытался использовать строку в качестве формата объекта json.
Наконец, я создал объект json и отправил его на сервер с помощью HttpUrlConnection. Но все равно не повезло. С аналогичным кодом и токеном доступа я смог получить пользователей/группы/коллаборации. Но никогда не удавалось создать пользователя/группу с помощью кода. Я также пробовал командную строку curl и там тоже застрял. Моим лучшим достижением было то, что я мог получить ошибку 403, используя команду curl, указывающую на запрещенные или недостаточные права. Однако обратите внимание, что я сгенерировал этот токен доступа с помощью учетных данных администратора корпоративного ящика и могу добавить пользователя/группу через пользовательский интерфейс ящика. Кроме того, с помощью кода, использующего указанный выше токен доступа, я смог выполнить GET. Может кто-нибудь указать, что мне не хватает в коде ниже ??
URL url = new URI("https", "www.box.com", "/api/2.0/groups", null).toURL();
JSONObject jobj = new JSONObject();
jobj.put("name", "abcdef1");
HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();
urlConn.setDoOutput(true);
urlConn.setDoInput(true);
urlConn.setRequestMethod(method)
urlConn.setRequestProperty("Authorization", "Bearer " + accessToken);
urlConn.setRequestProperty("Content-Type", "application/json");
DataOutputStream wr = new DataOutputStream(urlConn.getOutputStream());
wr.writeUTF(URLEncoder.encode((jobj.toJSONString(),"UTF-8"));
wr.flush();
wr.close();
if (urlConn.getResponseCode() == 200)
{
//Read buffer
}
else
throw new Exception("Reaches HERE!!!!");