2013-07-24 3 views
1

Google 드라이브 API를 java로 사용하여 Google 드라이브에서 문서를 다운로드했습니다. 하지만 자바 대신 자바 스크립트를 사용하고 싶습니다. 그래서 드라이브 API 클라이언트 라이브러리 자바 스크립트 코드를 사용하고 있습니다. 내가이Google 드라이브에서 자바 스크립트를 사용하여 문서 다운로드 : 파일을 다운로드 할 수 없습니다.

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); 
    } 
} 

내 문제를 달성하기위한 아래의 코드를 사용하고하는 것은 내가 모든 파일 이름과 내용을 표시 할 수 있습니다. 하지만 파일을 다운로드 할 수 없습니다. 여분의 코드가 필요합니까? 로컬 시스템에 파일을 저장하려면 어떻게해야합니까? 어떤 제안? 참고 : 브라우저에 downloadUrl을 붙여 넣으면 아무 결과도 표시하지 않고 단지 빈 페이지 만 표시하면 file.downloadUrl에 값을 얻을 수 있습니다.

+0

이것은 파일을 다운로드 할 때 필요한 것입니다. 오류 출력 등을 공유 할 수 있습니까? –

답변

0

"브라우저에 downloadUrl을 붙여 넣으면 아무 결과도 표시되지 않습니다."브라우저가 인증 헤더가 없으므로 올바른 것입니다. 상태를 확인하면 401 오류가 표시됩니다.

I 사용 "권한 : 'OAuth를'+ gapi.auth.getToken() 'access_token이']"보다는 "베어러 '. 그게 중요한지 확실하지 않습니다.

downloadUrl이 최신 상태입니까? 이것은 단명 속성이므로 링크가 만료되었을 수 있습니다.

액세스 토큰이 유효하지 않을 수도 있습니다. Burcu가 말했듯이, 당신의 대답은 아마도 당신의 xhr에 대한 반응과 상태입니다.