2016-10-18 5 views
1

このコードでは、フォルダを作成できます。フォルダ内にサブフォルダを作成する

  function createNewFolder() { 
      var name = "newfolder" 

      gapi.client.load('drive', 'v2', function() { 

      var request = gapi.client.request({ 
       'path': '/drive/v2/files/', 
       'method': 'POST', 
       'headers': { 
        'Content-Type': 'application/json', 

       }, 
       'body':{ 
        "title" : name, 
        "mimeType" : "application/vnd.google-apps.folder", 
        "parents": [{ 
         "kind": "drive#file", 
         "id": FOLDER_ID 
        }] 
       } 
      }); 

      request.execute(function(resp) { console.log(resp); }); 
      }); 
     } 

    } 
} 

しかし、これが作成されたとき、私はそれに異なる名前(リンゴ、梨、バナナ、キウイ、オレンジ)との5つのサブフォルダを作成します。関数にパラメータを与えることによって

function createNewFolder(folderName) { 
    var name = folderName 

、あなたは別の名前でそれを複数回実行することができますので、あなたは、(例として)配列をループすることができますし、それらを作成するには:へ

答えて

0

変更し、あなたのコードの先頭:

var names = ['apple', 'pear', 'something'] 

for (var i = 0; i < names.length; i++) { 
    createNewFolder(names[i]); 
} 
+0

実際にはvar名はidです(フォルダは名前idを取得します) –

+0

そして、appleとpearのフォルダは、名前id –

+0

var name = $( '[name = id]') );これは私のvar名です –

0

あなたのコードはFOLDER_IDを取得するためにparents[]プロパティを使用して正しいです。次に、FOLDER_IDを使用して、親フォルダ内にサブフォルダを作成できます。これはdocumentationに記載されています。フォルダを作成するときに

parentsプロパティは、サブフォルダを作成するためにも使用することができます。

Sample code:Googleドライブ内のサブフォルダを作成するときに

function createSubFolder() { 
var body = new Object(); 
body.title = 'SubFolder'; 
body.parents = [{'id':'0B5xvxYkWPFpCUjJtZVZiMWNBQlE'}]; 
body.mimeType = "application/vnd.google-apps.folder"; 

console.log(body) 
var request = gapi.client.request({ 
'path': '/drive/v2/files', 
'method': 'POST', 
'body': JSON.stringify(body) 
}); 

request.execute(function(resp) { console.log(resp); }); 
} 

はまた、このSO threadによると、それは親を持っている必要があります。したがって、文字列qを実行する前に、親ルートIDを検索する必要があります。

string findRootId = "mimeType = 'application/vnd.google-apps.folder' and title ='" + RootFolder + "' and trashed = false"; 
IList<File> _RootId = GoogleDriveHelper.GetFiles(service, findRootId); 
     if (_RootId.Count == 0)  
     {  
      _RootId.Add(GoogleDriveHelper.createDirectory(service, RootFolder, "", "root")); 
         Console.WriteLine("Root folder {0} was created.", RootFolder); 
     }  
var id = _RootId[0].Id; 
string Q = "mimeType = 'application/vnd.google-apps.folder' and '" + id + "' in parents and title ='" + GoogleDriveFolderName + "' and trashed = false"; 

+0

しかし、IDが変更し続けている場合はどうなりますか?今では私はbody.parentを持っているので ですが、私の目標はリンクIDが存在しない場合です(例えばユーザ120)。それは120という名前のフォルダになります。これは既存のユーザではないでしょうか –

+0

code string findrootid javascriptを使用してください) –

関連する問題