мы загружаем файл 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);
}
});`