Невозможно создать папку на одном диске, используя остальные API - PullRequest
0 голосов
/ 16 мая 2019

Получение 403 запрещенного кода состояния при использовании создания папки rest api. В настоящее время предоставляются следующие разрешения:

Делегированные (рабочая учетная запись) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All

Application Files.ReadWrite.All, Sites.ReadWrite.All

Я использовал API-интерфейсы rest rest, как указано в документации OneDrive Rest APi, для создания новой папки.Мне также удалось создать папку и загрузить документы.

"https://api.onedrive.com/v1.0/drive/items/" + rootFolderId +" / children? AccessToken = "+ accessToken;

String json =" {\ "name \": \ "" + folderName + "\", \ "folder \": {}} ";

    String folderId = null;
    CloseableHttpClient httpClient = HttpClientBuilder.create().build();
    CloseableHttpResponse httpResponse = null;
    HttpPost request = null;
    try {
        request = new HttpPost(requestURL);
        StringEntity params = new StringEntity(json);
        request.addHeader("content-type", OneDriveAuthConstants.JSON_CONTENT);
        request.addHeader("Authorization", getAuthorizationHeaderForAccessToken(accessToken));
        request.setEntity(params);
        httpResponse = httpClient.execute(request);
        if (httpResponse.getStatusLine().getStatusCode() == OneDriveAuthConstants.HTTP_RESOURCE_CREATED
                || httpResponse.getStatusLine().getStatusCode() == OneDriveAuthConstants.HTTP_OK) {

            Map<String, String> map = new HashMap<String, String>();
            map = OneDriveUtils.handleResponse(httpResponse);
            folderId = map.get("id");

        }

    }
...