2012-08-15 2 views
2

자바 스크립트 애플리케이션에서 스프레드 시트 문서의 내용을 가져 오려고합니다. 그러나 '/drive/v2/files/' + documentId의 응답에는 'downloadUrl'속성이 없습니다.Google 드라이브에서 파일 메타 데이터를 요청할 때 'downloadUrl'매개 변수가 누락되었습니다.

내 코드입니다 : 내가 잘못 뭐하는 거지

var apiKey, clientId, documentId, scopes; 

documentId = "XXXXXXXXXX"; 
clientId = 'XXXXXXXXXXXXX.apps.googleusercontent.com'; 
apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXX'; 

scopes = 'https://www.googleapis.com/auth/drive'; 

window.OnLoadCallback = function() { 
    console.log("google client loaded!"); 
    gapi.client.setApiKey(apiKey); 
    return window.setTimeout(checkAuth, 1); 
}; 

window.checkAuth = function() { 
    return gapi.auth.authorize({ 
    client_id: clientId, 
    scope: scopes, 
    immediate: true 
    }, function(e) { 
    console.log("authorized!"); 
    return gapi.client.request({ 
     'path': '/drive/v2/files/' + documentId, 
     'method': 'GET', 
     callback: function(theResponseJS, theResponseTXT) { 
     var downloadUrl, myToken, myXHR; 
     console.log(theResponseJS); 
     console.log(theResponseJS.downloadUrl); //is missing 

     myToken = gapi.auth.getToken(); 
     myXHR = new XMLHttpRequest(); 
     myXHR.open('GET', theResponseJS.downloadUrl, true); 
     myXHR.setRequestHeader('Authorization', 'Bearer ' + myToken.access_token); 
     myXHR.onreadystatechange = function(theProgressEvent) { 
      if (myXHR.readyState === 4) { 
      if (myXHR.status === 200) { 
       return console.log(myXHR.response); 
      } 
      } 
     }; 
     return myXHR.send(); 
     } 
    }); 
    }); 
}; 

?

감사합니다.

답변

4

Google 문서 파일에는 직접 액세스 할 수없는 일부 내부/독점 형식이 있습니다. 유일한 옵션은 Google 문서를 "exportLinks"컬렉션을 통해 다른 잘 정의 된 문서 유형으로 변환하는 것입니다.

+0

말린 것! 결과는 다음과 같습니다 옵션 https://docs.google.com/feeds/download/spreadsheets/Export?key=XXXXX&exportFormat=ods 405 (방법은 허용되지 않음)로드 할 수 없습니다 XMLHttpRequest의 https://docs.google.com/ 피드/다운로드/스프레드 시트/Export? key = XXXXXXXXXXXXXX & exportFormat = ods. Origin http://budget.t.proxylocal.com은 Access-Control-Allow-Origin이 허용하지 않습니다. –

+0

실례합니다. 결과 [여기] (http://pastie.org/pastes/4494435/text)를 볼 수 있습니다. –

관련 문제