aliyun / alibabacloud-sdk

Other
75 stars 19 forks source link

upload方法报错:signature we calculated does not match the signature you provided #384

Closed jiawei666 closed 3 years ago

jiawei666 commented 3 years ago

accessId跟accessSecret是正确的 文件地址:https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png 返回信息:The request signature we calculated does not match the signature you provided. Check your key and signing method. requestId:5FCF41C39EA51831358037CD hostId:viapi-customer-temp.oss-cn-shanghai.aliyuncs.com httpCode:403

jiawei666 commented 3 years ago

用的是PHP-SDK

AxiosLeo commented 3 years ago

能否提供下 oss php sdk 的版本,以及使用的 alibabacloud/tea 的版本。

使用 composer show 可以查看依赖组件的版本

jiawei666 commented 3 years ago

alibabacloud/tea v3.1.20 alibabacloud/viapi-utils v0.1.3

jiawei666 commented 3 years ago

调用的方法是AlibabaCloud\SDK\ViapiUtils\ViapiUtils::upload()

jiawei666 commented 3 years ago

所有alibaba的依赖包如下 image

AxiosLeo commented 3 years ago

我本地没有复现出问题,可以实现通过网络地址上传图片并获取新的 URL 地址,以下是我的复现代码

use AlibabaCloud\SDK\ViapiUtils\ViapiUtils;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;

try {
  $url = ViapiUtils::upload($access_key_id, $access_key_secret, "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png");
  var_dump($url); // result :  "http://viapi-customer-temp.oss-cn-shanghai.aliyuncs.com/LTAI4G4RQZsUUFtibyf6ZSdS/bd39a3fd77d0e9239b78dcfed497a004PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png"
} catch (TeaUnableRetryError $e) {
  var_dump($e->getMessage());
  var_dump($e->getErrorInfo());
  var_dump($e->getLastException());
  var_dump($e->getLastRequest());
}

如果通过以上代码还是有问题的话,会不会是 AK 上有看不见的特殊字符,或者 AK 不具备访问完整的 Viapi 的权限呢。

可以尝试在 AlibabaCloud\SDK\ViapiUtil\ViapiUtils 类中,断点调试 $viResponse->data->accessKeyId,$viResponse->data->accessKeySecret,$viResponse->data->securityToken,看看这三个取值是否有效。

jiawei666 commented 3 years ago

好,我晚些再试试

AxiosLeo commented 3 years ago

请问,问题还存在吗?我先 Close 这个 Issue ,如果问题还存在的话,再 reopen

jiawei666 commented 3 years ago

emm 还是不行,方便私聊么 我把ak跟sk发你看下?

AxiosLeo commented 3 years ago

可以加一下钉钉群:11771185 阿里云官方SDK&CLI客户服务群 在群内反馈下问题,我会及时回复的。

jiawei666 commented 3 years ago