我正在尝试通过带有 curl 的 api 访问我的谷歌云存储。这是我在 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 密钥和签名方法。
一整天我尝试了许多其他变化,但我仍然遇到同样的问题。我仔细检查了访问密钥,但我不知道该去哪里找。
请帮忙 :(