是否可以将PPT上传到Google驱动器并在NODEJS中作为图像下载

时间:2015-03-04 10:19:22

标签: javascript node.js google-api

您好我已经开始使用googleapis npm并且可以列出并创建文档等。是否可以上传一个powerpoint文档将其保存在谷歌驱动器中,当我想下载它时,它可以作为单独的图像下载。我已经看到Aspose.Slides可能会这样做,但我希望能够使用谷歌文档。

任何帮助都很棒

到目前为止,我的代码是

var express = require('express')
  , request = require('request')
  , oauth = require('./oauth')
  , app = express();

// Setup middleware
app.use(express.static(__dirname));


// List out file that are in your Google Drive
app.get('/upload', function(req, res) {
  // Check to see if user has an access_token first
var fs = require('fs');


var  ENDPOINT_OF_GDRIVE = 'https://www.googleapis.com/drive/v2';
var PARENT_FOLDER_ID = 'XXXXXXX';

var PNG_FILE = 'test.ppt';


if (oauth.access_token) {
    var accessToken = oauth.access_token;

    var fstatus = fs.statSync(PNG_FILE);
    fs.open(PNG_FILE, 'r', function(status, fileDescripter) {
      if (status) {
        console.log(status.message);
        //return;
      }

          var buffer = new Buffer(fstatus.size);
          fs.read(fileDescripter, buffer, 0, fstatus.size, 0, function(err, num) {

            request.post({
              'url': 'https://www.googleapis.com/upload/drive/v2/files',
              'qs': {
                 //request module adds "boundary" and "Content-Length" automatically.
                'uploadType': 'multipart'

              },
              'headers' : {
                'Authorization': 'Bearer ' + accessToken
              },
              'multipart':  [
                {
                  'Content-Type': 'application/json; charset=UTF-8',
                  'body': JSON.stringify({
                     'title': PNG_FILE,
                     'parents': [
                       {
                         'id': PARENT_FOLDER_ID
                       }
                     ]
                   })
                },
                {
                  'Content-Type': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
                  'body': buffer
                }
              ]
            }, function(error, response, body){
      console.log(error);
      console.log(response);
      console.log(body);
    });

  });
});
} else {
    console.log("2nd  Could not determine if user was authed. Redirecting to /");
    res.redirect('/');
}

});

// Handle OAuth Routes
app.get('/login', oauth.login);

app.get('/auth/google/callback', oauth.callback);
app.get('/callback', oauth.callback);

app.listen(3000);

我已将其从服务器端auth更改为服务器端oauth。我可以上传一个ppt并在谷歌文档中打开它,我只需要知道如何能够下载ppt作为单独的图像

1 个答案:

答案 0 :(得分:0)

通过大量的研究,它还没有完成