こんにちは私はGoogle Cloud Bucketにアップロードするための署名付きURLを生成しましたが、PUTしようとするとPostmanだけで奇妙なことにSignatureDoesNotMatchを取得します。 Pythonで同じURL、queryParams、Headersを試してみると、うまくアップロードできました。 https://storage.googleapis.com/ ****-171020.appspot.com/[email protected]****-171020.iam.gserviceaccount.com:ここPostmanを使用するとGoogle Cloudの署名付きURL「SignatureDoesNotMatch」が正しく動作します。
は、私は郵便配達
URLで試行要求であります&期限= 1503755879 &署名= tlcHVRwbvMSxaIB6oO/TDXRDczXGFSE6ZXHmZbtCUMhjpos36/1KdKV7Lbmm7XtKsq42SFNksUIZLplyAMpkG8aMBuydeoJd + kvebLxK2k + AX8Xr2VVf5Aq/vVJrPGGYGD0iEN + bY264NIFbyJnlm0pthCVGtB5YqZJadCFDwPFWqi04312Jzzen1CXDY + saY0BabmXaZeCzINz7kV + aq0AJoS8taW0uqboYc1o4gCA6OPAswMr1E840a + II4HqkeOWcv7PiHEPdw/sgH3PR + TkGmjTAd9f8H6zJIFaT8DLbtsl7t3iAUM7Fvdtc9pGQt6KT0qUm9z3XfPEjP8OsTA ==
ヘッダ: のContent-MD5:7Qdih1MuhjZehB6Sv8UNjAの== のContent-Type:ここではtext/plainの
作品Pythonプログラムは次のとおりです。
import requests
url = "https://storage.googleapis.com/****-171020.appspot.com/swift.txt"
querystring = {'GoogleAccessId':'[email protected]****-171020.iam.gserviceaccount.com', 'Expires':'1503755879', 'Signature':'tlcHVRwbvMSxaIB6oO/TDXRDczXGFSE6ZXHmZbtCUMhjpos36/1KdKV7Lbmm7XtKsq42SFNksUIZLplyAMpkG8aMBuydeoJd+kvebLxK2k+AX8Xr2VVf5Aq/vVJrPGGYGD0iEN+bY264NIFbyJnlm0pthCVGtB5YqZJadCFDwPFWqi04312Jzzen1CXDY+saY0BabmXaZeCzINz7kV+aq0AJoS8taW0uqboYc1o4gCA6OPAswMr1E840a+II4HqkeOWcv7PiHEPdw/sgH3PR+TkGmjTAd9f8H6zJIFaT8DLbtsl7t3iAUM7Fvdtc9pGQt6KT0qUm9z3XfPEjP8OsTA=='}
payload = "Hello World!"
headers = {'Content-MD5': '7Qdih1MuhjZehB6Sv8UNjA==', 'Content-Type':'text/plain'}
response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
print(response.text)
私はここで何が起こっているかを理解する助けてください。ありがとう!
郵便配達員にあなたのヘッダーをどのように定義したかが問題だと思います。 「キー」と「値」を実際のキーと値に置き換えてみてください。例:{"key": "Content-MD5" ...}の代わりに{"Content-MD5": "7Qdih1MuhjZehB6Sv8UNjA =="} – AllenMoh
@AllenMohこれはコピーを試みたときに郵便配達員がクリップボードに追加された方法です混乱。 – Aster