我正在嘗試使用Google文檔查看器。它似乎適用於PPT。例如這個作品:Google文件查看 - 網址編碼?
在我的應用程序我已經上傳私人安全文件。這似乎打破了谷歌文件或者我編碼錯了。
我發送給谷歌文檔查看器的URL是像這樣(樣本URL):
,打破谷歌文檔,它可以把它。我需要對此進行不同的編碼嗎?
謝謝!
我正在嘗試使用Google文檔查看器。它似乎適用於PPT。例如這個作品:Google文件查看 - 網址編碼?
在我的應用程序我已經上傳私人安全文件。這似乎打破了谷歌文件或者我編碼錯了。
我發送給谷歌文檔查看器的URL是像這樣(樣本URL):
,打破谷歌文檔,它可以把它。我需要對此進行不同的編碼嗎?
謝謝!
您需要編碼至少符號(&
)到%26
在任何一種語言,使用的是應該有一個URL編碼的功能。在php中是urlencode()
。在JavaScript中,你會想要使用encodeURIComponent()
你不能。您的文件必須公開可供Google服務器查看並呈現。當我嘗試查看您發佈的網址時,它會給我「訪問被拒絕」。
想象一下,試圖在/Users/you/Desktop/mypowerpoint.ppt上查看計算機上的PPT。由於它不是可公開訪問的文件,因此您不希望任何人能夠查看它,更不用說Google的服務器了。 Google無法訪問http://docs.google.com/viewer?url=file:///Users/you/Desktop/mypowerpoint.ppt,就像無法訪問您的Access-Restricted頁面一樣。
但是,如果您提供的網址有一個訪問密鑰(我看到它是您的「示例網址」的一部分),它允許任何具有該訪問密鑰的人查看它,它應該可以正常工作,並且@Mike是正確的 - 您需要進行網址編碼,以免將亞馬遜的網址參數與Google文檔查看器的參數混淆。在這種情況下,如果你用Ruby on Rails的,你的問題建議的歷史工作,你要使用
<%=u "http://www.yoururl.com/?someparameter=true&file=myfile.ppt" %>
我一開始就這麼想,但我認爲OP的意思是它不適合我們。 :( – Shaz
剛剛在最後加入了一個最後一位:P –
那麼你可以做到這一點,如果你可以從產生的瞬間網址下載文件由s3 php庫。所有你做的是把谷歌url +編碼(即時生成的文件)。
如果鏈接未過期,Google視圖將能夠閱讀它。
就是這樣
$generated_file = $obj->gs_prepareS3URL($file);
$encoded_url = rawurlencode($generated_file);
$google_docs = "http://docs.google.com/viewer?url=";
redirect($google_docs.$encoded_url);
+1,有沒有人找到任何方式來查看簽名的S3網址嗎?編碼'&'到'%26'使文件「訪問被拒絕」... –