我使用adn_viewer gem(https://github.com/GetSomeRest/adn_viewer)将Autodesk与Ruby on Rails集成。使用以下代码创建存储桶时:
Adn_Viewer.create_bucket(token, name, policy)
adn_viewer.rb中的函数定义如下:
def self.create_bucket(token, name, policy)
url = URI("https://developer.api.autodesk.com/oss/v1/buckets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer ' + token
request.body = "{\"bucketKey\":\"" + name + "\",\"policy\":\"" + policy + "\"}"
JSON.parse(http.request(request).read_body)
end
我得到的错误是:
JSON::ParserError Exception: 757: unexpected token at 'Token scope not set. This request does not have the required privilege.'
答案 0 :(得分:0)
这个样本已经过时而且没有维护,也没有去年生产的Ruby包。 我们即将发布一个新的软件包和样本,以匹配去年6月正式发布的API的最新状态。在此期间,您至少需要添加存储桶:在此处为此API创建作为文档的范围:https://developer.autodesk.com/en/docs/oauth/v2/overview/scopes/并在此处:https://developer.autodesk.com/en/docs/data/v2/reference/http/buckets-POST/
使用您需要的适当范围更改身份验证调用。通常数据:读取数据:写入数据:更新桶:读取桶:创建桶:更新
更改此行:https://github.com/GetSomeRest/adn_viewer/blob/master/lib/adn_viewer.rb#L9
有:
JSON.parse(CurbFu.post({:host => 'developer.api.autodesk.com', :path => '/authentication/v1/authenticate', :protocol => "https"}, { :client_id => key, :client_secret => secret, :grant_type => 'client_credentials', :scope=> 'put your scopes here' }).body)
希望有所帮助,