2011-02-13 11 views
1

Googleドキュメントビューアを使用しようとしています。それはPPTのためにうまくいくようです。例これは動作します:私のアプリでGoogleドキュメントの表示 - URLエンコーディング?

http://docs.google.com/viewer?url=http://www.microsoft.com/presspass/download/press/2008/02-01yahoo.ppt

を私はセキュリティのためのプライベートとしてアップロードされたファイルを持っています。これはGoogleドキュメントを破棄しているようです。

私はGoogleドキュメントビューアに送るよURLはそう(サンプルURL)のようなものです:

Googleドキュメントを壊し

https://s3.amazonaws.com/dev/1/attachments/243/1/original/02-01yahoo.ppt?AWSAccessKeyId=17VVCSSS3H6Y3129H3G2&Expires=1294131584&Signature=3141havYNS7JCpsTLE6Ppo3yXkc%3D

、それはそれを取ることができます。これを別の方法でエンコードする必要がありますか?

ありがとうございます!

+0

+1は、誰もが署名したS3のURLを表示するには、どのような方法を見つけたのだ

? '%26'への'& 'を' 'アクセス拒否 'にエンコードします... –

答えて

0

あなたはURLエンコードする機能があるはずです使用しているものは何でも言語で%26

に少なくともアンパサンド(&)をエンコードする必要があります。 PHPではurlencode()です。あなたが使用したいjavascriptでencodeURIComponent()

0

できません。あなたのドキュメントは、Googleのサーバーがそれらを表示してレンダリングするために、公開されている必要があります。投稿したURLを表示しようとすると、「アクセスが拒否されました」というメッセージが表示されます。

コンピュータの電源ポイントを/Users/you/Desktop/mypowerpoint.pptで表示しようとしたとします。公開されているファイルではないので、誰もがGoogleのサーバーだけでなく、それを閲覧できるとは思わないでしょう。 Access-Restrictedページにアクセスできないように、Googleはhttp://docs.google.com/viewer?url=file:///Users/you/Desktop/mypowerpoint.pptにアクセスできません。

ただし、あなたが提供するURLにはアクセスキーがあります(このURLはあなたの「サンプルURL」の一部です)。そのアクセスキーを持つ人は誰でも閲覧できますが、@Mikeは正しく動作するはずです - AmazonのURLパラメータとGoogleドキュメントビューアのパラメータを混同しないようにURLエンコードする必要があります。その場合、あなたはRuby on Railsを、質問の提案の履歴で作業している場合は、あなたが生成され、インスタントのURLからファイルをダウンロードすることができた場合

<%=u "http://www.yoururl.com/?someparameter=true&file=myfile.ppt" %> 
+0

私は最初はそうだと思っていましたが、OPはそれが私たちにとってうまくいかないことを意味します。 :( – Shaz

+0

ちょうど一瞬前に最後のビットを1つ追加しました:P –

0

は、さてあなたはこれを行うことができます使用したいと思いますs3のPHPライブラリ。あなたがしているのは、Google 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); 
関連する問題