1

google-api-nodejs-clientを使用して、Google ドライブ ファイルの内容を取得したいと思います。現在、私は以下のコードを使用しています。これは通常のリクエストであり、機能するには が必要tokenです。私はAPIを使ってもっと多くのことをするつもりですoauth2Client。このリクエストを行うためにライブラリを使いたいです。出来ますか?

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
4

1 に答える 1

0

グーグルのドキュメントから:

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);
  }
}
于 2016-04-08T03:37:26.663 に答える