2017-07-17 19 views
1

Googleドキュメントビューアapiのおかげで、S3バケットに格納された.docファイルをiframe内に表示しようとしています。Amazon S3の署名付きURLでGoogleドキュメントビューアが動作しない

私はすでに私はここに適用しようとしている、いくつかの研究を行なったし、thisが見つかりました:

var encodedUrl = encodeURIComponent("http://myAPI.com/1d293950-67b2-11e7-8530-318c83fb9802/example.docx?X-Amz-Algorithm=AWS4-HMAC-SHA256%26X-Amz-Credential=GNRO0BLDYAJP1FU7ALIS%2F20170717%2Fus-east-1%2Fs3%2Faws4_request%26X-Amz-Date=20170717T145429Z%26X-Amz-Expires=600%26X-Amz-SignedHeaders=host%26X-Amz-Signature=ee556c5c92427bb38265507218a701660936bc2774ecc919648bb2d780a2619f"); 

$scope.selectedSource = $sce.trustAsResourceUrl(
    "http://docs.google.com/gview?url=" + encodedUrl + "&embedded=true" 
); 

インラインフレームを次のようになります。

<iframe ng-src="{{selectedSource}}" frameborder="no" style="width:100%;height:100%"></iframe> 

しかし、私はまだから「プレビュー不可」を取得iframe内のビューア、任意のアイデアなぜですか?

ブラウザに貼り付けたときに署名付きのURL(エンコードされていない)が動作するように指定するので、必要なすべての権限があります。

+0

を使用してプライベートドキュメントを表示するためにこれは、新しいブラウザタブを開いて、わずかに異なるURLにアクセスして、S3から事前に署名したURLを使用して私の作品.google.com/viewer?url = '+事前に署名されたS3 URL(シグネチャバージョン4)で重複してURLエンコードされています(これは技術的には正しいことです)。代わりのGoogle URLが見つかった[ここ](https://webapps.stackexchange.com/q/44673/83083)。変数を取り除くために埋め込む前に、それを独自のウィンドウでテストしたいかもしれません。 –

答えて

関連する問題