这让我整晚都在发疯。
我用 PHP/MYSQL 编写了一个运行良好的 DropBox 应用程序,它从 Amazon S3 存储桶中提取文件并将它们发送到用户的 Dropbox 文件夹。
然后我更改了 Amazon S3 存储桶上的存储桶策略,以允许仅从少数引荐来源和签名 URL 中提取文件(例如:/musicfile.mp3?AWSAccessKeyId=[accesskeyid]&Expires=[expires]&Signature=[signature] )。
这适用于所有目的,除了我了解到我的 Dropbox 功能不再有效,这是因为您将 Amazon S3 上 mp3 的 URL 传递给 Dropbox API,并且在 Dropbox 方面他们将文件拉入,所以现在我有了存储桶政策只允许某些推荐人,保管箱获得拒绝的权限,API 告诉我它失败了。
所以我认为很容易解决,我只需将 ?AWSAccessKeyId= blah blah 添加到传递给保管箱的文件的末尾,所有这些都会立即工作,但是,这不是因为文件不会以扩展名 Dropbox 结尾认识到所以它再次无法工作。
然后我想我只需将来自 Dropbox 的推荐人添加到我的存储桶策略中,但我仍然不知道它是什么,并且添加了带有和不带有 https 的 dropbox.com 和 api.dropbox 的所有变体,所有这些都没有运气。
如果有人有任何想法或解决方案,你会认真地度过我的一周。
我最不想做的事情是被迫先将文件下载到我的服务器,然后发送到保管箱,我真的不想这样做,我知道我已经把它按原样完美地工作了,而且它有效当我完全删除我的存储桶策略时,我只想让它与它一起工作。