0

如何从我创建的Autodesk A360存储桶下载文件?该文件是一个Revit项目文件,我使用双腿OAuth进行授权。从a360锻造桶下载revit文件

+0

噢,如果可能,我需要在一个winform中做这个! –

+0

并且我提到了C#会不错,我刚刚在另一个夜晚发现了关于json的问题,那个没有面具的人,现在我想知道这对于从伪造云中处理我的项目是否是必不可少的? –

回答

1

您需要使用三方认证才能访问A360中的文件,因为您需要获得您正在访问的帐户的用户的批准 - 用户是第三方。 如果您尝试从OSS上的应用程序私有存储区访问文件,则不需要用户的批准,因为存储区属于您的应用程序,而不属于用户。

作为一个方面说明,如果尝试使用Data Management API访问BIM 360文件(万一这就是你所说的),那么暂时你需要使用2段认证,但是你的应用需要由我们手动批准。

2条腿比3条腿的认证是由奥古斯托的网络直播覆盖: Introduction to oAuth and Data Management API

+0

也许他正在使用两脚OSS桶API和名称混淆... –

+0

嗨菲利普,我用这里tuturial上传到....? http://the360view.typepad.com/blog/2015/02/autodesk-view-and-data-api-intro-overview.html –

+0

我的桶和他们的内容是我现在还不完全确定。我认为这是一个接受我上传的360。上面的链接到oauth 2,并创建一个桶并上传教程。我只是最初想要存储文件进行协作和通过winform上传/下载.net –

0

我没有得到一个桶关键尝试创建时,我改变V1到V2桶后...

见下文

公共静态字符串GetBucket(字符串的accessToken,串bucketKey,串政策) {

 // (1) Build request 
     var client = new RestClient(); 
     client.BaseUrl = new System.Uri(baseApiUrl); 

     // Set resource/end point 
     var request = new RestRequest(); 
     request.Resource = "oss/v1/buckets"; 
     request.Method = Method.GET; 


     // Add headers 
     request.AddHeader("Authorization", "Bearer " + accessToken); 
     request.AddHeader("Content-Type", "application/json"); // MH: skipping this works. 

     // Add JSON body. in simplest form. 
     request.AddJsonBody(new { bucketKey = bucketKey, policy = policy }); 


     // (2) Execute request and get response 
     IRestResponse response = client.Execute(request); 
     //TaskDialog.Show("create bucket", response.StatusDescription); 

     // Save response. This is to see the response for our learning. 
     m_lastResponse = response; 

     TaskDialog.Show("response", m_lastResponse.ToString()); 

     // Get the key = bucket name 
     string key = ""; 
     if (response.StatusCode == HttpStatusCode.OK) 
     { 
      JsonDeserializer deserial = new JsonDeserializer(); 
      OssBucketsResponse bucketsResponse = deserial.Deserialize<OssBucketsResponse>(response); 
      key = bucketsResponse.key; 
     } 




     return key; // the bucket name 
    } 
+0

v1和v2 API的响应之间有变化。所以我猜想反序列化会失败,并且OssBucketsResponse的旧对象。最好的情况是,如果你使用Postman这样的工具来检查你使用各种AP​​I得到的确切响应,并相应地修改代码和声明的类。 –