【发布时间】:2015-08-24 03:53:26
【问题描述】:
下面的代码 sn-p 给了我一个401 unauthorized 响应。如果我将 HTTP 方法从 Delete 更改为 Get 或 Post,则此代码有效:
url = 'https://www.filepicker.io/api/file/LYsl3wunQBW0to2JD4D4'
polysig_str = "?policy=#{policy}&signature=#{signature}"
uri = URI.parse(url)
http = Net::HTTP.new(uri.host)
req = Net::HTTP::Delete.new(uri.path + polysig_str)
response = http.request(req)
我的策略和签名是在此代码 sn-p 之前设置的,就像我说的,如果我只是执行 Get 请求,我可以在响应中看到文件数据。我也尝试过发布到这个网址:
url = 'https://www.filepicker.io/api/file/LYsl3wunQBW0to2JD4D4/remove'
同样的结果:401 未授权。
我已尝试在策略中包含 call: 'remove' 和 handle: 'LYsl3wunQBW0to2JD4D4'。
签名和策略似乎是正确的,因为如果我创建过期策略或仅包含 call: 'read',我会收到 403 Forbidden 响应而不是 401。
我只是不知道如何从 HTTP 请求中删除记录。有趣的是我可以发布到该 URL 并覆盖文件的内容,但我不能完全删除它(Ruby 中的所有内容)。
也许只能使用 Filepicker 提供的专有 JS 库来删除文件?
【问题讨论】:
-
似乎没有什么问题。删除rest api:filepicker.com/documentation/file_ingestion/rest_api/remove您可能想检查您的策略是否允许您删除文件(它可能不允许您这样做,在这种情况下401是正常的)
标签: ruby filepicker.io