2015-03-31 44 views
0

這不像是一個獨特的問題,但我找不到現有解決方案。如何爲每個用戶獨有的Google文檔提供靜態鏈接

背景: 我正在建立LMS課程。我可以插入鏈接,但它們是靜態鏈接,每個用戶都會看到相同的鏈接。 作爲本課程的一部分,有一份Google Doc學習指南,學生應該填寫(並與他們的教師分享)。

我想知道哪個是最可行的解決方案: 1.加入課程時,使用Google(Drive API或Apps Script(?))創建文件實例(大概是通過複製現有文件或者使用命名模板)和適當的共享權限(學習者和他們的教師都能夠看到文件)。在課程中將不存在指向文件的鏈接,只是關於如何訪問其已經創建的文件的說明。 2.有一些處理程序,以便我可以將靜態鏈接插入到該處理程序中;處理程序會檢查用戶是否已登錄Google Drive,如果該文件存在,則會打開它,如果該文件不存在,則會創建該文件(使用與上述類似的技術)。這將有利於能夠在任何地方插入相同的鏈接,並且學生可以立即訪問他們特定的個性化Google文檔。

任何其他建議或現有的解決方案嗎?

非常感激, 大衛

回答

0

都需要,使個性化的複製相同的代碼。唯一的區別是你創建它們的時刻。

2更好,因爲它一次創建最多一個副本的失敗機率較低,對用戶也更實用。

1選項需要製作批量副本,這需要花費時間(驅動api使複製速度很慢),腳本可能會超時或達到一些配額。

與1一起,一種方法是將一個webapp作爲所有者發佈,它接收驅動器文件ID作爲url參數。在開始時,應用程序會計算副本是否已完成(通過標題或使用腳本或用戶屬性查找文件)。

如果文件尚未創建,請創建副本並與用戶共享。然後在webapp中顯示該文件的鏈接。請注意,腳本無法自動打開文件,因此您需要將其顯示爲用戶點擊的錨點。

澄清,用這種方式用戶總是做兩次點擊。一次從你的CMS和一次在你的Web應用程序。

+0

謝謝。我可以問問你的腳本是什麼意思,將無法自動打開文檔?我假設我將有一個用戶的點擊事件(「打開」他們的學習指南)。你是這個意思嗎? – 2015-05-22 20:32:59

+0

編輯了我的答案。 – 2015-05-22 20:55:11