Ошибка загрузки OneDrive, код ошибки: InternalServerError, ссылка на объект не установлена ​​для экземпляра объекта - PullRequest
0 голосов
/ 10 марта 2020

мы загружаем файл powerpoint в onedrive для бизнеса с помощью графа sdk в течение нескольких недель, мы не знаем, почему, и он все равно не может нормально работать.

вот ответное сообщение: {"error": {"code": "InternalServerError", "message": "Ссылка на объект не установлена ​​на экземпляр объекта.", "InnerError": {" идентификатор запроса ":" 8463ad8e-65a7-4e1b-8883-8c5607101679 "," date ":" 2020-03-10T05: 37: 18 "}}}

например, код:

`UsernamePasswordProvider usernamePasswordProvider = новый UsernamePasswordProvider (CLIENT_ID, SCOPES, USERNAME, PASSWORD, NationalCloud.Global, Арендаторы. Организации, CLIENT_SECRET);

IClientConfig mClientConfig = DefaultClientConfig.createWithAuthenticationProvider(usernamePasswordProvider);

IGraphServiceClient graphClient = GraphServiceClient.fromConfig(mClientConfig);

User user = graphClient.me().buildRequest().get();
System.out.println(user.getRawObject());
File file = new File("/Users/saybot/Downloads/9c1b08bfcb0c637e1291c18b47f539fc.pptx");
FileInputStream fileInputStream = new FileInputStream(file);
MyItem driveItemUploadableProperties = new MyItem();
driveItemUploadableProperties.behavior = "rename";
String alpha = graphClient.me().drive().root().children().buildRequest().get().getCurrentPage().stream().filter(
        item -> item.name.equalsIgnoreCase("alpha")).findFirst().get().id;
UploadSession uploadSession = graphClient.me().drive().items(alpha)
        .itemWithPath("9c1b08bfcb0c637e1291c18b47f539fc.pptx")
        .createUploadSession(driveItemUploadableProperties)
        .buildRequest().post();

ChunkedUploadProvider<DriveItem> simpleBeanChunkedUploadProvider = new ChunkedUploadProvider<>(uploadSession,
        graphClient, fileInputStream,
        Long.valueOf(file.length()).intValue(),
        DriveItem.class);

StringBuilder sb = new StringBuilder();

simpleBeanChunkedUploadProvider.upload(new IProgressCallback<DriveItem>() {
    @Override
    public void progress(long current, long max) {
        System.out.println(current + " progress " + max);
    }

    @Override
    public void success(DriveItem simpleBean) {
        System.out.println(simpleBean);
        sb.append(simpleBean.id);
    }

    @Override
    public void failure(ClientException ex) {
        System.out.println(ex);
    }
});`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...