2016-05-18 2 views
0

Googleのクラウドストレージバケットに匿名でファイルをアップロードできますが、ポリシーと署名を使用してHTMLページからアップロードを取得できませんでした。私はいくつかの記事を読んで、時間のかなり多くを費やしているGoogle Cloud Storage POSTを使用してHTMLからファイルをアップロードします。署名の問題

:私は1人のだけの評判を持っているよう

私もHTML POSTのためのGoogleドキュメントに従うことをしようとしたが、そのdocs..can'tポストにリンクを記述しましたポイント...

私のポリシードキュメントは、Googleドキュメントの例に非常によく似たシンプルなJSONフォームです。

{ "期限切れ": "2020-06-16T11:11:11Z"、

"条件":[

[ "開始-有する"、 "$キー"、 ""]、

{ "のacl": "バケット所有者が読んで"}、

{ "バケツ": "XXXXXXXXX"}、

{ "success_action_redirectを":「ここにURLをリダイレクトする...私が持っていました私の評判のため削除する...」}、

[ "EQ"、 "$コンテンツタイプ"、 "アプリケーション/ PDF"]、

[ "コンテンツ長レンジ"、0、1000000]

]

}

XXは単純に改ざんされています。私は、次のHTMLを使用しています

とは、:

ポリシーと署名文字列が表示便宜のために省略されています。私はこれを実行すると

<form action="http://storage.googleapis.com/flashbidz_uploads/" 
           method="post" enctype="multipart/form-data"> 
          <input type="text" name="key" value=""> 
          <input type="hidden" name="bucket" value="XXXXX"> 
          <input type="hidden" name="Content-Type" value="application/pdf"> 
          <input type="hidden" name="GoogleAccessId" value="[email protected]"> 
          <input type="hidden" name="acl" value="bucket-owner-read"> 
          <input type="hidden" name="success_action_redirect" value="https://flashbidz.appspot.com/#/sellerhome"> 
          <input type="hidden" name="policy" value="eyJleHBpcm...XQ0KfQ=="> 
          <input type="hidden" name="signature" value="5P5lFuZ...nkTlyY="> 

          <input name="file" type="file"> 
          <input type="submit" value="Upload"> 
         </form> 

私はメッセージが表示されます。私たちは、あなたが提供するシグネチャが一致しない計算 要求署名。 Googleの秘密鍵と署名方法を確認してください。

私は、次の午前のプロセスが、このサイトhereからの私の政策のbase64で表現を作成してから(HTMLでのBase64表現を使用)SHA-256、署名文字列を作成するには、このサイトhereを使用し、それに署名することです私のサービスアカウントキーのprivate_key_id。

また、サービスアカウントに関連付けられたクライアントIDと署名用の電子メールフォームを使用しました。

私はどこが間違っているのか分からず、これをどのようにデバッグするのか分かりません。どのような助けも非常に高く評価され、私はこの件に関してすでに多くの投稿があることを理解しています。私はそれらを読んだことがある(それらを理解していないかもしれない)。

ありがとうございます!

答えて

0

基本的に最初に認証する必要があります。これはブラウザセッションでトークンを追加します。後で明示的にトークンを渡す必要はありません。 (thisthisを参照)

hereの例があります。

+0

ありがとう@varunpant、私はすでに複数のアプリケーションでOAuthを使用しています。それ以上の手がかりがあるかどうかを確認するために提供したリンクを見ていきます。私は、B64ポリシーと署名を使ってHTMLページからアップロードしたいだけです。私は本当にあなたの提案をしっかり見ていた後、今日後で返信します。ありがとう! –

関連する問題