2013-02-09 5 views
0

Я пытаюсь создать приложение, которое будет обращаться к папкам, а затем их содержимому через API SkyDrive.Не удается получить доступ к файлам 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

Hi Meks - у вас есть чистый захват (ала F12 инструменты или Firebug), что приводит к тому, из HTTP-вызовов, сделанных API? – selbie

+0

Нет, я этого не делаю. Что такое чистый захват? – meks

+0

Это то, о чем вы говорите? – meks

ответ

1

Вы пробовали играть с образцами на ISDK:

http://isdk.dev.live.com

Например, следующий пример:

http://isdk.dev.live.com/ISDK.aspx?category=scenarioGroup_skyDrive&index=2

Там также панель, где вы можете играйте с прямыми вызовами в службе Live API, чтобы узнать, что они вернут.

+0

Да, конечно, у меня есть ошибка неразличимости samr – meks

1

Кстати, вот ссылка на Живой Форум SDK для разработчиков:

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

+0

Для ответа на этот вопрос нужны годы газилия. Я добавил туда запись. Я думаю, вы даже прокомментировали это, если я не ошибаюсь. – meks

+0

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

Смежные вопросы