Gan*_*sle 7 authentication salesforce force.com amazon-s3 amazon-web-services
我正在为salesforce开发代码.我们正在使用Appexchange的"Force.com for Amazon Web Services"应用程序.该应用程序由亚马逊提供.
我正在从机器上的Amazon S3下载文件.
有时我得到下面提到的错误.有趣的是,有时候我会得到这个错误,其余的时间都可以工作,即使对于同一个文件也是如此.
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
Run Code Online (Sandbox Code Playgroud)
我尝试使用亚马逊提供的两种网址模式.过期在链接生成后设置为1小时,因此可能不是问题.
URL1:- http://adminportal.s3.amazonaws.com/sample.pdf?AWSAccessKeyId=AKIAIRUZSRRCVSLXZCIA&Expires=1372653478&Signature=RvMJ1gJL+qNKmnRkqzuytmlUTGQ=
URL2:- http://s3.amazonaws.com/adminportal/sample.pdf?AWSAccessKeyId=AKIAIRUZSRRCVSLXZCIA&Expires=1372658253&Signature=%2FmI0m0PTlHJpJ%2FP5d%2FX3OApqzcI%3D
Run Code Online (Sandbox Code Playgroud)
签名是由亚马逊提供的类生成的,我想它一直都能运行良好.
有人可以详细说明为什么S3有时会出现此错误?
Gan*_*sle 10
最后我能够解决这个问题,这里是怎么回事?
Amazon S3上文件的示例网址是 -
http://adminportal.s3.amazonaws.com/sample.pdf?AWSAccessKeyId=AKIAIRUZSRRCVSLXZCIA&Expires=1372653478&Signature=RvMJ1gJL+qNKmnRkqzuytmlUTGQ=
Run Code Online (Sandbox Code Playgroud)
签名由亚马逊提供的类生成.
由于未知原因,'Force.com for Amazon Web Services'应用程序正在生成包含SPACES的签名.
例如,在给定的URL中,空格被替换为"+".
要解决这个问题,只需对URL进行编码即可.编码将替换具有特殊字符的空格,问题将得到解决.
| 归档时间: |
|
| 查看次数: |
10508 次 |
| 最近记录: |