2017-02-17 69 views
0

在我們的應用程序中,用戶可以提交指向Google文檔的鏈接(來自Google雲端硬盤)。我們希望能夠檢查文檔是否以任何具有鏈接的人都可以訪問文檔的方式共享。這怎麼可能(最好使用Javascript)。通過鏈接確定Google文檔的共享設置

這樣的鏈接可能是:https://docs.google.com/a/peergrade.io/document/d/1_PgKkr7e4E1uEE4O_SHswq4tjBDLthg0KxGXjtIMLio/edit?usp=sharing 這是不爲外部人共享。

我們的應用程序正在瀏覽器中運行。用例是我們應用程序的學生可以交出其他人必須查看的Google文檔。有些學生會忘記分享他們的文件,這會導致問題。我們希望提醒學生他們的文檔沒有正確共享。

我們不需要實際訪問文檔,只需確定它是否可供其他人訪問。

使用API​​將是完美的,但在這一點上,我們只有鏈接到可用的文檔。

+0

需要更多信息。它是什麼類型的應用程序,一個在瀏覽器中運行的Web應用程序?如果文檔不能被其他人訪問,您希望如何獲得這些信息 - 您的應用程序將不會被登錄到Google文檔,即使它可能與用戶的憑據無關 - 也不會被拒絕訪問如果是? (並且想一想,單單是否證明不足以證明它不可訪問)? –

+0

此外,谷歌可能會在幾天後改變實施,所以你不能依賴字符串。檢查應該是谷歌驅動器公開一些API來做到這一點,而不是這個問題。 –

+0

感謝您的問題。我會更新這個問題。 – utdiscant

回答

2

您可以使用以下請求獲取文件的元數據

GET https://www.googleapis.com/drive/v3/files/{FILE_ID}?fields=id%2Ckind%2CmimeType%2Cname%2Cshared&key={YOUR_API_KEY} 

注意shared標籤在請求

,這將給你像

{ 


"kind": "drive#file", 
"id": "bla_bla_gibberish_id", 
"name": "Sample File", 
"mimeType": "application/vnd.google-apps.spreadsheet", 
"shared": true 
} 

現在,從獲得的fileid鏈接:

function getIdFromUrl(url) { return url.match(/[-\w]{25,}/); } 

as posted here