如何从我创建的Autodesk A360存储桶中下载文件?该文件是一个Revit项目文件,我使用两条腿的OAuth进行授权。
发布于 2016-10-13 21:09:58
您需要使用3条腿的身份验证来访问A360中的文件,因为您需要获得访问其帐户的用户的批准-该用户是第三条腿。如果你试图访问OSS上你自己应用程序的私有存储桶中的文件,那么你不需要用户的批准,因为该存储桶属于你的应用程序,而不是用户。
顺便说一句,如果您试图使用数据管理API访问BIM 360文件(如果您正在谈论这一点),那么目前您需要使用两条腿的身份验证,但您的应用程序需要由我们手动审批。
两条腿与三条腿的身份验证在Augusto的网络广播中进行了介绍:Introduction to oAuth and Data Management API
发布于 2016-10-27 18:43:51
当我将v1更改为v2时,在尝试在中创建存储桶后,我没有获得存储桶密钥...
见下文
公共静态string策略( string accessToken,string bucketKey,string GetBucket){
// (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
}https://stackoverflow.com/questions/40020355
复制相似问题