2015-02-17 3 views
1

Я хотел бы использовать google-api-nodejs-client для получения содержимого файлов дисков Google. Прямо сейчас я использую приведенный ниже код, просто обычный запрос, для которого требуется token. Я собираюсь сделать больше вещей с api, и я хочу использовать oauth2Client и библиотеку, чтобы сделать этот запрос. Является ли это возможным?Получить содержимое файлов с помощью Google Drive api

var Promise = require("bluebird") 
var request = Promise.promisify(require("request")) 

function getDriveFile(token, fileId){ 
    return request({ 
    "method":"GET", 
    "url": "https://docs.google.com/feeds/download/spreadsheets/Export", 
    "qs":{ 
     "exportFormat": "csv", 
     "key": fileId, 
     "gid": 0 
    }, 
    "headers":{ 
     "Authorization": "Bearer " + token 
    } 
    }).spread(function(response, body){ 
    return body 
    }) 
} 

module.exports = getDriveFile 

ответ

0

Из Документов Google:

https://developers.google.com/drive/v2/reference/files/get#examples

/** 
* Print a file's metadata. 
* 
* @param {String} fileId ID of the file to print metadata for. 
*/ 
function printFile(fileId) { 
    var request = gapi.client.drive.files.get({ 
    'fileId': fileId 
    }); 
    request.execute(function(resp) { 
    console.log('Title: ' + resp.title); 
    console.log('Description: ' + resp.description); 
    console.log('MIME type: ' + resp.mimeType); 
    }); 
} 

/** 
* Download a file's content. 
* 
* @param {File} file Drive File instance. 
* @param {Function} callback Function to call when the request is complete. 
*/ 
function downloadFile(file, callback) { 
    if (file.downloadUrl) { 
    var accessToken = gapi.auth.getToken().access_token; 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET', file.downloadUrl); 
    xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken); 
    xhr.onload = function() { 
     callback(xhr.responseText); 
    }; 
    xhr.onerror = function() { 
     callback(null); 
    }; 
    xhr.send(); 
    } else { 
    callback(null); 
    } 
} 
Смежные вопросы