0

APIを使用してSkydriveに新しいフォルダーを作成するコードがあります。実際に機能しています。ただし、常に同じ名前のフォルダーが作成されます。フォルダの名前がハードコードされているためです。

私の質問は、textBox を API 呼び出しにバインドして、ユーザーが指定したフォルダーの名前を API に渡す方法です。

フォルダを作成するコードは次のとおりです。

  <script src="//js.live.net/v5.0/wl.js" type="text/javascript" language="javascript"></script>
  <script type="text/javascript" language="javascript">
      function createFolder_onClick() {
          WL.login({
              scope: "wl.skydrive_update"
          }).then(
          function (response) {
        WL.api({
            path: "me/skydrive",
            method: "POST",
            body: {
                "name": "This is a new folder",
                "description": "A new folder"
            }
        }).then(
            function (response) {
                document.getElementById("infoArea2").innerText =
                    "Created folder. Name: " + response.name + ", ID: " + response.id;
            },
            function (responseFailed) {
                document.getElementById("infoArea2").innerText =
                    "Error calling API: " + responseFailed.error.message;
            }
        );
    },
    function (responseFailed) {
        document.getElementById("infoArea2").innerText =
            "Error signing in: " + responseFailed.error_description;
    }
      );
      }
  </script>
4

1 に答える 1

0

フォルダーのハードコードされた名前をテキストボックスの内容に置き換える必要があります。コード内のフォルダー名を含むテキストボックスの名前が txtFolderName の場合、次のようなものが機能するはずです。

 <script src="//js.live.net/v5.0/wl.js" type="text/javascript" language="javascript">     </script>
  <script type="text/javascript" language="javascript">
      function createFolder_onClick() {
          WL.login({
              scope: "wl.skydrive_update"
          }).then(
          function (response) {
        WL.api({
            path: "me/skydrive",
            method: "POST",
            body: {
            "name": document.getElementById("txtFolderName").value,
            "description": "A new folder"
           }
        }).then(
            function (response) {
                document.getElementById("infoArea2").innerText =
                    "Created folder. Name: " + response.name + ", ID: " + response.id;
            },
            function (responseFailed) {
                 document.getElementById("infoArea2").innerText =
                    "Error calling API: " + responseFailed.error.message;
            }
        );
    },
    function (responseFailed) {
        document.getElementById("infoArea2").innerText =
            "Error signing in: " + responseFailed.error_description;
    }
      );
      }
  </script>
于 2013-05-13T18:46:11.493 に答える