How to restore a Deleted Calendar Event Using Graph API
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece com as chamadas de exclusão do Graph SDK Java e a consulta de recuperação de mailFolders/messages mostrada na issue. Determine se permanentDelete() e delete() colocam os eventos de calendário em locais diferentes, identifique o endpoint ou o ID de pasta correto de Recoverable Items e verifique se o evento pode ser encontrado para restauração.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Context
We are currently migrating functionality from EWS to Microsoft Graph API (Java). We have a requirement to delete and then programmatically restore calendar events. While our EWS implementation works perfectly, we are struggling to locate the deleted events using the Graph API.
Current EWS Implementation (Working)
In EWS, we use DeleteMode.HardDelete and then search the RecoverableItemsPurges folder to move the item back to the Calendar.
// How we delete meeting from calendar
if (msg instanceof MeetingMessage) {
MeetingMessage meetingMessage = MeetingMessage.bind(service, msg.getId());
ItemId masterId = meetingMessage.getAssociatedAppointmentId();
if (masterId != null) {
Appointment appointment = Appointment.bind(service, masterId);
appointment.delete(DeleteMode.HardDelete);
}
}
// How we restore the message
ItemView itemView = new ItemView(EwsServer.FOLDER_VIEW_PAGE_SIZE);
itemView.setTraversal(ItemTraversal.Shallow);
SearchFilter filterColl = new SearchFilter.SearchFilterCollection(
LogicalOperator.And,
new SearchFilter.IsEqualTo(ItemSchema.Subject, message.getSubject()),
new SearchFilter.IsEqualTo(EmailMessageSchema.Sender, message.getSender().getAddress())
);
FindItemsResults<Item> deletedItems = server.getExchangeService()
.findItems(WellKnownFolderName.RecoverableItemsPurges, filterColl, itemView);
if (deletedItems.getItems().size() > 0) {
for (Item item : deletedItems.getItems()) {
item.move(WellKnownFolderName.Calendar);
break;
}
}
Problem: Graph API Implementation (Not Working)
When using the Graph SDK, we cannot find the event in the recoverable items folders after a deletion.
Deletion code:
graphClient.users().byUserId(mailboxBeingScanned)
.calendar().events().byEventId(eventId)
.permanentDelete().post();
//we have tried delete method as this as well
graphClient.users().byUserId(mailboxBeingScanned)
.calendar().events().byEventId(eventId)
.delete();
Attempted recovery code:
We have tried searching recoverableitemspurges, deleteditems, and recoverableitemsdeletions using the internetMessageId, but the collection always returns empty.
MessageCollectionResponse eventMessage = graphClient.users().byUserId(mailboxBeingScanned)
.mailFolders().byMailFolderId("recoverableitemspurges")
.messages()
.get(requestConfiguration -> {
requestConfiguration.queryParameters.filter = "internetMessageId eq '<MN2PR13...prod.outlook.com>'";
});
Questions
-
When using permanentDelete() on a Calendar Event in Graph, does it land in a different folder than it would via EWS?
-
What is the correct mailFolderId or endpoint to query for items in the "Recoverable Items" partition specifically for Calendar events?
- Linguagem predominante
- Java
- Estrelas
- 444
- Forks
- 154
- Merge médio
- 18h 28min
- PRs com merge (30d)
- 4
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoftgraph/msgraph-sdk-java
-
status:waiting-for-triage type:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
microsoftgraph/msgraph-sdk-java#2610 ·
-
status:waiting-for-triage type:bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
microsoftgraph/msgraph-sdk-java#2656 ·
-
status:waiting-for-triage type:bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
microsoftgraph/msgraph-sdk-java#2654 ·
-
status:waiting-for-triage
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java#2639 ·
-
Error in PATCH onlineMeeting Abertastatus:waiting-for-triage type:bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
microsoftgraph/msgraph-sdk-java#2589 · 1 comentário ·
Todas as issues de microsoftgraph/msgraph-sdk-java
Issues semelhantes
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful Abertaarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100