0

내가 만든 Autodesk A360 버킷에서 파일을 다운로드하려면 어떻게해야합니까? 이 파일은 Revit 프로젝트 파일이며 승인을 위해 2-legged OAuth를 사용했습니다.a360 forge 버킷에서 Revit 파일 다운로드

+0

아, 가능하면 winform에서이 작업을 수행해야합니다! –

+0

그리고 나는 C#이 멋질 것이라고 언급했는데, 다른 밤, 마스크가없는 json에 대해 알아 냈습니다. 이제는 위조 구름에서 프로젝트를 처리하는 것이 필수적인지 궁금합니다. –

답변

1

A360에서 파일에 액세스하려면 3 개의 다리가있는 인증을 사용해야합니다. 액세스하려는 계정의 사용자 (세 번째 다리)가 필요하기 때문입니다. OSS에서 애플리케이션의 개인 버킷의 파일에 액세스하려는 경우 버킷이 사용자가 아닌 앱에 속해 있기 때문에 사용자의 승인이 필요하지 않습니다.

데이터 관리 API를 사용하여 BIM 360 파일에 액세스하려는 경우 (당장 언급 한 내용의 경우) 당분간 2 개의 다리가있는 인증을 사용해야하지만 앱이 필요합니다 우리가 수동으로 승인했다.

2 다리 3 다리 인증은 아우의 웹 캐스트에 의해 덮여 대 : Introduction to oAuth and Data Management API

+0

어쩌면 그는 2-legged OSS 버킷 API를 사용하고 있고 이름을 혼란스럽게 할 것입니다 ... –

+0

안녕하세요? 필립, 여기에 업로드 할 학습 방법을 사용 했습니까? http://the360view.typepad.com/blog/2015/02/autodesk-view-and-data-api-intro-overview.html –

+0

내 버킷과 그 내용이 이제는 완전히 확신 할 수 없습니다. 내 업로드를 수락하는 것이 a360이라고 생각했습니다. 위의 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의 오래된 객체로는 deserialization이 실패 할 것입니다. 가장 좋은 점은 Postman과 같은 도구를 사용하여 다양한 API를 사용하여 정확한 응답을 확인하고 코드를 수정하고 이에 따라 클래스를 선언 한 경우입니다. –