Это сводило меня с ума всю ночь.
Я написал приложение DropBox на PHP/MYSQL, которое отлично работало, оно извлекало файлы из ведра Amazon S3 и отправляло их в папки Dropbox пользователей.
Затем я изменил политику корзины в корзине Amazon S3, чтобы разрешить извлечение файлов только из нескольких рефереров и подписанных URL-адресов (пример: /musicfile.mp3?AWSAccessKeyId=[accesskeyid]&Expires=[expires]&Signature=[signature] ).
Это прекрасно работает для всех целей, за исключением того, что я узнал, что моя функциональность Dropbox больше не работает, потому что вы передаете API Dropbox URL-адрес mp3 на Amazon S3, а на стороне Dropbox они извлекают файл, так что теперь у меня есть ведро политика, разрешающая только определенные рефереры, dropbox получает отказ в разрешении, и API сообщает мне, что это не удалось.
Поэтому я подумал, что это легко исправить, я просто добавлю ?AWSAccessKeyId= бла-бла в конец файла, передаваемого в Dropbox, и все будет работать мгновенно, но это не так, потому что тогда файл не заканчивается расширением Dropbox распознает, поэтому он снова не работает.
Затем я подумал, что просто добавлю реферер из Dropbox в свою политику ведра, но я до сих пор понятия не имею, что это такое, и добавил все варианты dropbox.com и api.dropbox с https и без него, и все безуспешно.
Если у кого-то есть идея или решение, вы серьезно сделаете мою неделю.
Абсолютно последнее, что я хочу сделать, это заставить сначала загрузить файл на свой сервер, а затем отправить в Dropbox, я действительно не хочу этого делать, и я знаю, что у меня это уже работало отлично, как было, и это работает сразу же, когда я полностью удаляю свою политику ведра, я просто хочу, чтобы она работала с ней.