0

SkyDriveAPIを介してフォルダーとそのコンテンツにアクセスするアプリケーションを作成しようとしています。

しかし、私がなんとか手に入れることができるのは私の名前と写真だけです。不明な理由により、フォルダが表示されていません。

コードは間違いなく実行され、出力のみが存在しません。何が間違っているのか本当にわかりません。誰かが何か提案があれば、私は非常に感謝します。

<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>
4

2 に答える 2

1

ISDK のサンプルを試してみましたか:

http://isdk.dev.live.com

たとえば、次のサンプル:

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

ライブ API サービスに対する直接呼び出しで遊んで、それらが返すものを確認できるパネルもあります。

于 2013-02-09T02:34:55.343 に答える
1

ところで、Live SDK Developer Forum へのリンクは次のとおりです。

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

于 2013-02-09T02:37:02.043 に答える