Como usar a API do Google Drive para baixar arquivos com Javascript

Quero baixar arquivos do google drive com a API javascript. Consegui autenticar e carregar a lista de arquivos usandogapi.client.drive.files solicitação. No entanto, fiquei preso ao baixar esses arquivos.
Minha tentativa de baixar o arquivo:

var request = gapi.client.drive.files.get({
        fileId:id,
        alt:'media'
});
request.execute(function(resp){
        console.log(resp);
});

Eu tenho esses erros ao tentar executar o acima:

(403) The user has not granted the app 336423653212 read access to the file 0B0UFTVo1BFVmeURrWnpDSloxQlE.

(400) Bad Request

Reconheço que os arquivos que não são do Google Drive (Google Doc, Google Slide) retornam o erro 403.
Eu sou novo nisso. Qualquer ajuda e resposta é realmente apreciada.

Atualização 0

Na documentação do Google Drive sobreTratamento de erro da API, aqui está parte da explicação para400 errors

Isso pode significar que um campo ou parâmetro necessário não foi fornecido, o valor fornecido é inválido ou a combinação de campos fornecidos é inválida.

Isso é porque eu tenhoalt:'media' no meu objeto de parâmetro.

eu tenteigapi.client.drive.files.export, mas também não funciona e retorna(403) Insufficient Permission embora minha conta do Google Drive tenha permissão de edição para esses arquivos. Aqui está o meu código:

var request = gapi.client.drive.files.get({
    fileId:element.id,
});
request.then(function(resp){
    console.log(resp.result);
    type = resp.result.mimeType;
    id = resp.result.id;
    var request = gapi.client.drive.files.export({
        fileId:id,
        mimeType:type
    })
    request.execute(function(resp){
        console.log(resp);
    });
});

Atualização 1

Baseado emresposta de abielita, Tentei fazer uma solicitação HTTP autorizada, mas ela não baixa o arquivo. Na verdade, ele retorna as informações do arquivo emresponse eresponseText atributo noXMLHttpRequest objeto.

  function test() {
    var accessToken = gapi.auth.getToken().access_token;
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://www.googleapis.com/drive/v3/files/"+'1A1RguZpYFLyO9qEs-EnnrpikIpzAbDcZs3Gcsc7Z4nE', true);
    xhr.setRequestHeader('Authorization','Bearer '+accessToken);
    xhr.onload = function(){
        console.log(xhr);
    }
    xhr.send('alt=media');
  }

______________________________________________________

Descobri que posso recuperar URLs de todos esses arquivos da pasta usando os arquivos 'webViewLink ouwebViewContent atributos.

Um arquivo do tipo Google Drive (Google Doc, Google Sheet, etc ...) teráwebViewLink atributo. UMAwebViewLink abrirá o arquivo no Google Drive.

Um arquivo que não seja do Google Drive teráwebContentLink. UMAwebContentLink fará o download do arquivo.

Meu código:

var request = gapi.client.drive.files.list({
    q:"'0Bz9_vPIAWUcSWWo0UHptQ005cnM' in parents", //folder ID
    'fields': "files(id, name, webContentLink, webViewLink)"
  });
request.execute(function(resp) {
        console.log(resp);
}

questionAnswers(3)

yourAnswerToTheQuestion