Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var google = require('googleapis');
- var _ = require('lodash-node/compat');
- var Q = require('q');
- var OAuth2 = google.auth.OAuth2;
- var CLIENT_ID = '...';
- var CLIENT_SECRET = '...';
- var REDIRECT_URL = '...';
- var shareFile = function (fileName) {
- var deferred = Q.defer();
- var drive = google.drive('v2');
- var auth = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
- drive.files.list({auth: auth}, function (err, res) {
- var foundFile = _.first(_.filter(res.items, {title: fileName, "explicitlyTrashed": false}));
- if (!foundFile) {
- deferred.reject('File ' + fileName + ' has not been found.');
- return;
- }
- drive.permissions.list({fileId: foundFile.id, auth: auth}, function (err, res) {
- if (_.isEmpty(_.find(res.items, 'role', 'reader'))) {
- var body = {
- 'value': 'default',
- 'type': 'anyone',
- 'role': 'reader'
- };
- drive.permissions.insert({
- fileId: foundFile.id,
- resource: body,
- auth: auth
- }, function (err, res, body) {
- deferred.resolve(body);
- });
- }
- });
- });
- return deferred.promise;
Add Comment
Please, Sign In to add comment