Я использовал поток разрешений приложения для аутентификации с API-разрешениями User.ReadWrite.All
Я хочу обновить / синхронизировать изображения профиля наших пользователей с изображениями, которые хранятся в отдельной базе данных.
Для целей отладки я извлекаю изображение из базы данных в окне рисунка "old-skool". Затем изображение будет передано в офис 365 со следующим кодом:
Dim pic = New MemoryStream
PictureBox1.Image.Save(pic, Imaging.ImageFormat.Jpeg)
Dim Photo = Await graphServiceClient.Users(TxtEmail.Text).Photo.Content.Request().PutAsync(pic)
Это вызывает исключение:
Microsoft.Graph.ServiceException
HResult=0x80131500
Message=Code: ErrorItemNotFound
Message: The specified object was not found in the store., No photo with class 'IPM.UserPhoto.Preview' exists.
Inner error
Source=Microsoft.Graph.Core
StackTrace:
at Microsoft.Graph.HttpProvider.<SendAsync>d__18.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.BaseRequest.<SendRequestAsync>d__34.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Graph.BaseRequest.<SendStreamRequestAsync>d__32.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Firebird_Test_Photo.Form1.VB$StateMachine_5_BtnUpdateExchanhe_Click.MoveNext() in C:\Users\jodur.KREMER\source\repos\Firebird Test Photo\Firebird Test Photo\Form1.vb:line 125
Симулятивный код ниже для извлечения изображения в графический ящик работает нормально
Dim Photo = Await graphServiceClient.Users(TxtEmail.Text).Photo.Content.Request().GetAsync()
PictureBox2.Image = System.Drawing.Image.FromStream(Photo)
Обновление фотографии с потоком, которое я получил с помощью этой функции, также приводит к тому же исключению, поэтому я не подозреваю, что неверный поток.
Есть предложения по этой проблеме? Предложения в C # также приветствуются!