Box、Inc c#sdkを使用して一度に複数のフォルダーを作成すると、JavaScriptエラーが発生します。子ディレクトリのパスには、パスと文字列のリストで構成されるクラスを使用しています。ただし、CreateBoxFoldersメソッドを呼び出すと、パラメーターカウントの不一致例外がランダムにスローされます。私はこれまでのところ理由を特定することができませんでした。
private void CreateBoxFolders(string dir, long boxfolderid)
{
string[] dirnames = dir.Path.Split('\\');
CreateBoxFolder(dirnames[dirnames.Count() - 1], boxfolderid);
long id = GetFolderId(dirnames[dirnames.Count() - 1], boxfolderid);
// This is a class with a list that stores the folder structure and path
dir.ChildDirectories.ForEach(x =>
CreateBoxFolders(x, id));
}
private void CreateBoxFolder(string name, long parent)
{
_BoxManager.CreateFolder(name, parent, false);
}
private long GetFolderId(string name, long parent)
{
var folders = _BoxManager.GetFolderStructure(parent,
BoxSync.Core.Primitives.RetrieveFolderStructureOptions.OneLevel);
long number = folders.Folder.Folders.Where(x => x.Name == name.Trim()).First().ID;
return number;
}