JSON :: ParserError异常:757:未设置令牌范围的意外令牌。此请求没有所需的权限。'

时间:2016-08-06 20:02:26

标签: ruby-on-rails ruby autodesk-forge

我使用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.'

1 个答案:

答案 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)

希望有所帮助,