2016-08-09 3 views
1

Ich versuche, eine Datei mit dem "POST projects/:project_id/storage" hochladen: "Erstellt einen Speicherort im OSS, wo Daten hochgeladen werden können."Autodesk Forge Datamanagement-API: Nein "extension.type" in Payload

Ich habe die projectId und folderId abgerufen, wo ich einen Speicherort für die Datei "vaac_RevBlockImperial.dwg" erstellen möchte. Ich habe diesen curl-Aufruf:

curl 
-X POST 
-H "Authorization: Bearer 3-legged-token-with-data:create-scope" 
-H "Accept: application/vnd.api+json" 
-H "Content-Type: application/vnd.api+json" 
"https://developer.api.autodesk.com/data/v1/projects/a.cGVyc30uYWw6dWUyOTNmYmU0I0QyMDE2MDUwOTMxNzU3Mjgx/storage" 
-d "{"""data""": {"""type""": """object""", """attributes""": {"""name""": """vaac_RevBlockImperial.dwg"""}, """relationships""": { """target""": {"""data""": { """type""": """folders""", """id""": """urn:adsk.wipprod:fs.folder:co.z9LUCe1_QoKWT8VFukdc9Q""" }}}}}" 

Als Ergebnis erhalte ich folgende Antwort:

{ 
    "jsonapi": { 
    "version": "1.0" 
}, 
"errors": [{ 
    "id": "2919a501-a362-46c4-a441-03fefcacb7b2", 
    "status": "400", 
    "code": "BAD_INPUT", 
    "title": "One or more input values in the request were bad", 
    "detail": "No \"extension.type\" found in payload." 
}] 
} 

Was "Detail" macht: "in Nutzlast gefunden" "Nein \" extension.type \ bedeuten?

Antwort

2

Ihre Nutzdaten enthalten einen ungültigen Typ, d. H. Es sollte "type: objects" anstelle von "type: object" sein.

Peter

0

Vielen Dank für Ihre Antwort. Das führte mich zu einem Online JSON-validator wo ich den Körper gegen seine Definition validierte. Als Ergebnis fand ich, dass der Körper

fehlte
"jsonapi": { 
    "version": "1.0" 
    }, 

und in der Attributen-Teil „Erweiterung“ erforderlich war:

"extension" : { 
    "type": "myType", 
    "version": "myVersion", 
    "schema": { "href": "myReference" } 
    } 

Das gab mir den nächsten JSon-Körper für ein „POST Projekte /: project_id/storage "-Aufruf:

{ 
    "jsonapi": { 
     "version": "1.0" 
    }, 
    "data": { 
     "type": "object", 
     "attributes": { 
      "name": "myfile.jpg", 
      "extension": { 
       "type": "myType", 
       "version": "myVersion", 
       "schema": { 
        "href": "myReference" 
       } 
      } 
     }, 
     "relationships": { 
      "target": { 
       "data": { 
        "type": "folders", 
        "id": "urn:adsk.wipprod:fs.folder:co.mgS-lb-BThaTdHnhiN_mbA" 
       } 
      } 
     } 
    } 
} 

Was mich einen anderen Fehler gab beim Verfassen eines Beitrags, aber die JSon wurde angenommen. Es scheint, dass die angegebenen Beispiele nicht auf die neueste Definition aktualisiert wurden.

+1

für diesen Fall, die „Objekte“ Updates sollte genug sein, brauchen Sie nicht den Erweiterungstyp passieren (ab sofort). –

+0

Das Objekt-Fix funktioniert. Vielen Dank! –

0

Schnellupdate nach den bereits in diesem Thread bereitgestellten Antworten. Die Online-Dokumentation & Tutorial aktualisiert wurden, diese Antworten zu reflektieren: https://developer.autodesk.com/en/docs/data/v2/tutorials/upload-file/

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. –

Verwandte Themen