2017-08-27 3 views
1

Je travaille sur un projet C# avec ces exigences:Comment spécifier @ microsoft.graph.conflictBehavior dans le corps de la demande dans onedriveAPI

  1. Créez un dossier si elle ne sort pas
  2. Vérifiez si le existe déjà, s'il existe incrémenter le nom de fichier.

De la documentation API onedrive Create a new Folder in OneDrive, il dit que la mise en @ microsoft.graph.conflictBehavior = renomme incrémenter la valeur du dossier si elle existe

comment puis-je ajouter le @ microsoft.graph.conflictBehavior dans ma demande ?

Voici le code qui crée le dossier à l'aide d'entraînement Item

var foldertoCreate = new DriveItem { 
    Name = $"TestFolder", 
    Folder = new Folder(), 

}; 

var newFolder = await _graphClient.Drive 
    .Items["MyParent_Item_Id"] 
    .Children 
    .Request() 
    .AddAsync (foldertoCreate); 

Répondre

2

Je crois que vous devriez être en mesure d'ajouter l'annotation manuellement via AdditionalData. Évidemment, ce n'est pas idéal, mais je ne vois pas d'autre moyen de le faire avec le SDK actuel.

var foldertoCreate = new DriveItem 
{ 
    Name = $"TestFolder", 
    Folder = new Folder(), 
    AdditionalData = new Dictionary<string, object> 
    { 
     { "@microsoft.graph.conflictBehavior", "rename" } 
    }, 
}; 

var newFolder = await _graphClient.Drive 
    .Items["MyParent_Item_Id"] 
    .Children 
    .Request() 
    .AddAsync(foldertoCreate);