Guest User

Untitled

a guest
Nov 25th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. var google = require('googleapis');
  2. var _ = require('lodash-node/compat');
  3. var Q = require('q');
  4. var OAuth2 = google.auth.OAuth2;
  5.  
  6.  
  7. var CLIENT_ID = '...';
  8. var CLIENT_SECRET = '...';
  9. var REDIRECT_URL = '...';
  10.  
  11. var shareFile = function (fileName) {
  12. var deferred = Q.defer();
  13. var drive = google.drive('v2');
  14. var auth = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
  15.  
  16. drive.files.list({auth: auth}, function (err, res) {
  17. var foundFile = _.first(_.filter(res.items, {title: fileName, "explicitlyTrashed": false}));
  18.  
  19. if (!foundFile) {
  20. deferred.reject('File ' + fileName + ' has not been found.');
  21. return;
  22. }
  23.  
  24. drive.permissions.list({fileId: foundFile.id, auth: auth}, function (err, res) {
  25.  
  26. if (_.isEmpty(_.find(res.items, 'role', 'reader'))) {
  27. var body = {
  28. 'value': 'default',
  29. 'type': 'anyone',
  30. 'role': 'reader'
  31. };
  32.  
  33. drive.permissions.insert({
  34. fileId: foundFile.id,
  35. resource: body,
  36. auth: auth
  37. }, function (err, res, body) {
  38. deferred.resolve(body);
  39. });
  40. }
  41. });
  42. });
  43. return deferred.promise;
Add Comment
Please, Sign In to add comment