2

curl を使用して API を介して Google クラウド ストレージにアクセスしようとしています。これがreminal(osx)で私がやっていることです:

ACCESS_KEY="my key here"
SECRET_KEY="my secret here"
VERB=GET
CHECKSUM=""
CONTENT_TYPE=""
URI=""
DATE="$(date)"
stringtosign="$VERB\n$CHECKSUM\n$CONTENT_TYPE\n$DATE\n${URI}"
echo $stringtosign
AUTHORIZATION="GOOG1 $ACCESS_KEY:$(echo -ne "$stringtosign" | openssl dgst -sha1 -hmac "$SECRET_KEY" -binary | openssl base64)"
echo $AUTHORIZATION

curl -X $VERB http://commondatastorage.googleapis.com$URI -i -v -H Content-Length:0 -H "Authorization:$AUTHORIZATION" -H "Date:$DATE"

そして、SignatureDoesNotMatch を取得しています。計算したリクエストの署名が、提供された署名と一致しません。Google 秘密鍵と署名方法を確認してください。

一日中、他の多くのバリエーションを試しましたが、それでも同じ問題が発生します。アクセスキーを再確認しましたが、他にどこを見ればよいかわかりません。

助けてください :(

4

0 に答える 0