2013-02-09 95 views
0

我試圖創建一個應用程序,它將通過SkyDrive API訪問文件夾和隨後的內容。無法訪問skyDrive文件夾

但只有我設法得到的是我的名字和圖片。由於某些未知原因,文件夾未被描繪。

代碼運行沒有錯誤,只有輸出不存在。我真的不知道我做錯了什麼。如果有人有任何建議,我會非常感激。

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>file Content</title> 
    <style> 

    </style>  

</head> 
<body> 
<h1>File Content</h1> 
<div> 
    <div id="meName" class="Name"></div> 
    <div id="meImg"></div> 
    <div id="signin"></div> 
    <div bgcolor='blue' id ="meCount"></div> 
</div> 


<script src="//js.live.net/v5.0/wl.js" type="text/javascript" language="javascript"></script> 
<script type="text/javascript" language="javascript"> 

    // Update the following values 
    var client_id = "XXXXXXXXXX", 
     scope = ["wl.signin", "wl.basic", "wl.offline_access", "wl.emails", "wl.skydrive_update"], 
     redirect_uri = "http://XXXXXXXX/callback.aspx"; 

    function id(domId) { 
     return document.getElementById(domId); 
    } 

    function displayMe() { 
     var imgHolder = id("meImg"), 
     nameHolder = id("meName"), 
    cout = id("meCount"); 

     if (imgHolder.innerHTML != "") return; 

     if (WL.getSession() != null) { 
      WL.api({ path: "me/picture", method: "get" }).then(
        function (response) { 
         if (response.location) { 
          imgHolder.innerHTML = "<img src='" + response.location + "' />"; 
         } 
        } 
       ); 



      WL.api({ path: "me", method: "get" }).then(
        function (response) { 
         nameHolder.innerHTML = response.name; 
        } 
       ); 

      WL.api({ path: "me/skydrive", method: "get" }).then(
        function (response) { 
         cout.innerHTML = response.count; 
        } 
       ); 


     } 
    } 



    function clearMe() { 
     id("meImg").innerHTML = ""; 
     id("meName").innerHTML = ""; 
    } 

    WL.Event.subscribe("auth.sessionChange", 
     function (e) { 
      if (e.session) { 
       displayMe(); 
       refreshPath(); 
      } 
      else { 
       clearMe(); 
      } 
     } 
    ); 




    WL.init({ client_id: client_id, redirect_uri: redirect_uri, 
       response_type: "code" }); 

    WL.ui({ name: "signin", element: "signin", brand: "skydrive", 
      type: "Connect", scope: "wl.signin wl.skydrive_update" }); 



    function refreshPath(){ 
        var options = viewerPage.options; 

        var name = (options && 'name' in options) ? 
               options.name : 'SkyDrive'; 
        var path = (options && 'path' in options) ? 
               options.path : 'me/skydrive'; 

        loadPath(name, path); 
       } 

       function isFolder (file){ 
        return file.type == 'folder' || 
file.type == 'album'; 
       } 

       function loadPath(name, path){ 
       updateTitle(name); 
       clearViewer(); 

     WL.api({path: path + '/files'}, function (response){ 
        if (response.error){ 
        return; 
        } 

      var items = response.data.map(function (item) { 

        return{ 
        group: 'default', 
        key: item.id, 
        file: item 
        }; 
       }); 

       items.sort(function itemA, itemB){ 
        var isFolderA = isFolder(itemA.file); 
        var isFolderB = isFolder(itemB.file); 

        if (isFolderA == isFolderB){ 

return itemA.file.namelocaleCompare(itemB.file.name); 
        } 
        else if (isFolderA){ 
        return -1; 
        } 
        else{ 
         return 1; 
         } 
        }); 
       viewerPage.items = items; 
       updateList(); 
      }); 
      } 




    </script> 

<script> 

</script> 
</body> 
</html> 
+0

喜MEKS - 你有一個淨捕獲(ALA F12工具或Firebug的),其具有作出的HTTP調用的結果API? – selbie 2013-02-09 02:28:30

+0

不,我不知道。什麼是網絡捕獲? – meks 2013-02-09 05:05:18

+0

是你在說什麼? – meks 2013-02-09 05:09:02

回答

1

順便說一句,這裏的鏈接到Live SDK開發者論壇:

http://social.msdn.microsoft.com/Forums/en-US/messengerconnect/threads

+0

它需要一個gazilion年在那裏有一個答覆。我在那裏添加了一個條目。我認爲你甚至評論它,如果我沒有錯誤 – meks 2013-02-09 05:06:47

+0

http://social.msdn.microsoft.com/Forums/en-US/messengerconnect/thread/f195f577-65ba-4946-9b47-96849cb82d59 – meks 2013-02-09 05:07:38