是否可以将 PPT 上传到 Google 驱动器并在 NODEJS 中下载为图像
Is it possible to upload PPT to Google drive and download as images in NODEJS
您好,我已经开始使用 googleapis npm 并且可以列出和创建文档等。是否可以上传 powerpoint 文档并将其保存在 google 驱动器中以及何时我想下载它,它被下载为单独的图像。我已经看到 Aspose.Slides 可以做到,但是我希望能够使用 google 文档。
任何帮助都会很棒
到目前为止我的代码是
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);
我已将其从服务器端身份验证更改为服务器端 oauth。我可以上传一个 ppt 并在 google 文档中打开它,我只需要知道如何能够将 ppt 作为单独的图像下载
经过大量研究,还是做不到
您好,我已经开始使用 googleapis npm 并且可以列出和创建文档等。是否可以上传 powerpoint 文档并将其保存在 google 驱动器中以及何时我想下载它,它被下载为单独的图像。我已经看到 Aspose.Slides 可以做到,但是我希望能够使用 google 文档。
任何帮助都会很棒
到目前为止我的代码是
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);
我已将其从服务器端身份验证更改为服务器端 oauth。我可以上传一个 ppt 并在 google 文档中打开它,我只需要知道如何能够将 ppt 作为单独的图像下载
经过大量研究,还是做不到