質問

今、私はこのコードを使ってファイルをGoogleドライブにアップロードします。 https://stackoverflow.com/a/a/11657773/1715263 テキストファイルでうまく機能します。

同じコードでフォルダを作成しようとしている、Googleからこの情報を使用してください。 nofollow noreferrer"> https://developers.google.com/drive/folder

だからGoogleは「content-type:application / json」をヘッダーに入り、 "application / vnd.google-apps.folder"になるはずです(?)、それは私が私の中でやっていることです。このようなコード。

function createFolder() 
{
    var access_token = googleAuth.getAccessToken();

    var json = JSON.stringify({
        mimeType: 'application/vnd.google-apps.folder',
        title: 'Folder',
    });

    var body =  "Content-Type: application/json" + "\r\n" +
                "Content-Length: " + json.length + "\r\n" + "\r\n" +
                json;

    gapi.client.request({

        'path': '/upload/drive/v2/files/',
        'method': 'POST',
        'params': {'uploadType': 'multipart'},
        'headers': {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer ' + access_token,             
        },
        'body': body
    }).execute(function(file) { 
        document.getElementById("info").innerHTML = "Created folder: " + file;
    }); 
.

しかし、それは "Untitled"という名前のファイルのみを作成するだけです。フォルダはありません、そしてそれを開くことはできません。

「ヘッダ」セクションの「headers」セクションに "application / vnd.google-apps.folder"の "content-type"を変更して "body"の部分を削除すると、 "Untitled"という名前のフォルダが作成されます。

特定のタイトルのフォルダを作成する方法はありますか?

役に立ちましたか?

解決

最後にGoogling Claudionsコードで作業しました。 https://stackoverflow.com/a/11361392/1715263

変更された重要なことは、 "/ upload / drive / v2 / file /"の代わりに "/ drive / v2 / files /"になりました。 'gapi.client.load'関数を削除し、ヘッダー情報を追加し、Bodys Mimetypeを変更しました。

だからここにコード:

function createFolder() {

   var access_token = googleAuth.getAccessToken();

   var request = gapi.client.request({
       'path': '/drive/v2/files/',
       'method': 'POST',
       'headers': {
           'Content-Type': 'application/json',
           'Authorization': 'Bearer ' + access_token,             
       },
       'body':{
           "title" : "Folder",
           "mimeType" : "application/vnd.google-apps.folder",
       }
   });

   request.execute(function(resp) { 
       console.log(resp); 
       document.getElementById("info").innerHTML = "Created folder: " + resp.title;
   });
}
.

他のヒント

次のコードを試してください:

function createFolder(folderName) {
  var body = {
    'title': folderName,
    'mimeType': "application/vnd.google-apps.folder"
  };

  var request = gapi.client.drive.files.insert({
    'resource': body
  });

  request.execute(function(resp) {
    console.log('Folder ID: ' + resp.id);
  });
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top