如果在使用AWS PHP SDK生成AWS S3预签名PUT URL时,遇到了“令牌格式不正确或者无效”的错误,可能是由于以下几个原因引起的:
以下是一个示例代码,演示了如何生成AWS S3预签名PUT URL并进行上传操作:
'us-west-2',
'version' => 'latest',
'credentials' => $credentials
]);
$cmd = $s3Client->getCommand('PutObject', [
'Bucket' => $bucketName,
'Key' => $objectKey
]);
$request = $s3Client->createPresignedRequest($cmd, '+15 minutes');
$presignedUrl = (string)$request->getUri();
echo "预签名URL: " . $presignedUrl;
?>
确保替换示例代码中的以下内容:
YOUR_ACCESS_KEY_ID:AWS访问密钥ID。YOUR_SECRET_ACCESS_KEY:AWS秘密访问密钥。YOUR_BUCKET_NAME:要上传到的AWS S3存储桶名称。YOUR_OBJECT_KEY:要上传到的对象键名。如果你仍然遇到“令牌格式不正确或者无效”的错误,请检查提供的凭证是否有效,Bucket和Object名称是否正确,并确保时间戳正确设置。