2017-07-18 100 views
0

我想從用戶谷歌驅動器下載spreadhseets。我遇到了CORS問題。谷歌驅動器:gsheets通過REST API下載

http://javascript.wekeepcoding.com/article/15417055/CORS+on+exportLinks+for+Google+Docs+spreadsheets+not+working

閱讀本:

https://github.com/google/google-api-javascript-client/issues/47

我努力讓自己在服務器端的GET請求。我嘗試使用restTemplate.exchange,但我不知道我的迴應應該在什麼格式。基本上完全丟失。

有沒有辦法讓GET拉取文件並傳回我的前端?

我不斷收到這個錯誤我嘗試任何格式:

org.springframework.web.client.RestClientException:無法提取響應:沒有合適的HttpMessageConverter發現響應類型[接口java.sql.Blob中]和內容類型[應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.sheet]

任何幫助非常感謝。

回答

0

至於CORS去,這是相關的導遊,我可以找到,How to use CORS to access Google APIs

使用XMLHttpRequest2使 CORS請求。

對Google API的CORS請求類似於REST請求。用於CORS請求中的URL 遵循以下模式:

https://www.googleapis.com + 
    REST path + URL Params 
Example: here is a REST request: 

var restRequest = gapi.client.request({ 
    'path': 'https://people.googleapis.com/v1/people/me/connections', 
    'params': {'sortOrder': 'LAST_NAME_ASCENDING'} 
}); 
And here is the equivalent CORS request: 

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'https://people.googleapis.com/v1/people/me/connections?sortOrder=LAST_NAME_ASCENDING'); 

請求頭被添加到使用 XMLHttpRequest.setRequestHeader該請求。

使用XMLHttpRequest.send方法發送請求正文。

您可以通過在加載時添加事件偵聽器和 錯誤事件來註冊回調。點擊此鏈接瞭解有關XMLHttpRequest的信息 事件

另請確保您有權從其他用戶下載電子表格文件 。