如何使用文件夹名称查找Skydrive文件夹的文件夹ID。或者是否可以在没有文件夹ID的情况下删除Skydrive中的文件夹。
使用的是Windows Phone 8 - LiveConnectClient
-Thanks
答案 0 :(得分:1)
我认为没有搜索API,但您可以自己动手。
此代码适用于5.2 SDK但您明白了。列出根文件夹中的文件夹。如果需要,请列出子文件夹,直到找到目录。
这是列出根目录:
clientFolder.GetAsync("me/skydrive/files");
获得ID:
foreach (IDictionary<string, object> album in data)
{
SkydriveAlbum albumItem = new SkydriveAlbum();
albumItem.ID = (string)album["id"];
}
完整代码:
/// <summary>
/// Gets the root dirs from SkyDrive
/// </summary>
public void ListSkyDriveRootAlbums()
{
List<SkydriveAlbum> albums = new List<SkydriveAlbum>();
LiveConnectClient clientFolder = new LiveConnectClient(App.Session);
clientFolder.GetCompleted += (sender, e) =>
{
if (e.Error == null)
{
List<object> data = (List<object>)e.Result["data"];
foreach (IDictionary<string, object> album in data)
{
SkydriveAlbum albumItem = new SkydriveAlbum();
albumItem.Title = (string)album["name"];
albumItem.Description = (string)album["description"];
albumItem.ID = (string)album["id"];
albums.Add(albumItem);
}
if (ListAlbumsCompleted != null)
{
ListAlbumsCompleted(albums.ToArray(), e.Error);
}
}
else if (ListAlbumsCompleted != null)
{
ListAlbumsCompleted(null, e.Error);
}
};
clientFolder.GetAsync("me/skydrive/files");
}