samedi 7 mars 2015

Is it possible to upload PPT to Google drive and download as images in NODEJS

Hi I have started using googleapis npm and can list and create a documents etc. Is it possible to upload a powerpoint doc have it saved in google drive and when I want to download it, it be downloaded as separate images. I have seen that Aspose.Slides may do it however i was hoping to be able to use google docs.


Any assistance would be awesome


My code so far is



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 = 'http://ift.tt/1yBdjZk';
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': 'http://ift.tt/1jNn6FQ',
'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);


I have changed it from server side auth to server side oauth. I can upload a ppt and open it fine in google docs, I just need to know how to be able to download the ppt as separate images


Aucun commentaire:

Enregistrer un commentaire