2016-08-06 1 views
-1

Ich integriere Autodesk mit Ruby on Rails unter Verwendung von adn_viewer gem (https://github.com/GetSomeRest/adn_viewer). Beim Erstellen Eimer mit dem folgenden Code:JSON :: ParserError Exception: 757: unerwartetes Token bei 'Token-Bereich nicht festgelegt. Diese Anfrage hat nicht die erforderlichen Berechtigungen. '

Adn_Viewer.create_bucket(token, name, policy) 

Die Funktionsdefinition in adn_viewer.rb sich wie folgt:

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 

Der Fehler, die ich erhalte ist:

JSON::ParserError Exception: 757: unexpected token at 'Token scope not set. This request does not have the required privilege.' 
+1

es sieht aus wie Ihre 'http .request (request) .read_body' ist keine JSON-codierte Zeichenfolge; es ist nur eine Zeichenfolge. Eine JSON-codierte Zeichenfolge muss entweder in ein Array oder einen Hash dekodiert werden, um gültig zu sein. –

Antwort

0

Diese Probe ist veraltet und nicht gepflegt, noch das Ruby-Paket, das letztes Jahr produziert wurde. Wir sind dabei, ein neues Paket und ein neues Muster zu veröffentlichen, um dem neuesten Stand der API zu entsprechen, die im letzten Juni offiziell veröffentlicht wurde. In der Zwischenzeit müssen Sie mindestens den Bucket hinzufügen: Bereich für diese API als Dokument hier erstellen: https://developer.autodesk.com/en/docs/oauth/v2/overview/scopes/ und hier: https://developer.autodesk.com/en/docs/data/v2/reference/http/buckets-POST/

Ändern Sie den Authentifizierungsaufruf mit dem entsprechenden Bereich, den Sie benötigen. Normalerweise Daten: Lesen von Daten: Daten schreiben: update Schaufel: Lesen Eimer: create Eimer: update

Ändern Sie diese Zeile: https://github.com/GetSomeRest/adn_viewer/blob/master/lib/adn_viewer.rb#L9 mit: 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)

Hoffnung, die hilft,

+0

Danke für die Antwort. Überprüfe das und aktualisiere dich. –

+0

Hallo @cyrille, Ich konnte Eimer erstellen und Dateien hochladen. Aber wenn ich versuche, den Viewer zu öffnen und die Datei darin zu sehen, erhalte ich einen JS-Fehler in der folgenden Datei: https://developer.api.autodesk.com/viewingservice/v1/viewers/viewer3D.min.js Dort heißt es: viewer3D.min.js: 4 Uncaught InvalidStateError: Fehler die ‚response‘ Eigenschaft von ‚XMLHttpRequest‘ zu lesen: Der Wert ist nur zugänglich, wenn das ‚response‘ des Objekts ‚‘ oder ‚Text‘ (war 'json'). p @ viewer3D.min.js: 4 Außerdem wird die Datei heruntergeladen, bevor der Viewer geöffnet wird. Kannst du in dieser Hinsicht helfen? –

+0

Wenn Sie Ihren Code irgendwo für mich zum Testen posten könnten, werde ich es gerne ausprobieren. Mein minimales Beispiel ist Post dort, wo ich die URN und access_token als Parameter in der Abfrage-Zeichenfolge drücken. https://github.com/cyrillef/models.autodesk.io/blob/master/www/view.html – cyrille

Verwandte Themen