如何解决发布自定义属性定义时出现“CUSTOM_ATTRIBUTE_DUPLICATE_NAME”错误
我正在尝试使用此处的说明将自定义属性添加到 BIM360 文件夹: https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-custom-attribute-definitions-POST/
public async Task<long> addFolderCustomAttribute(string projectId,string folderId,string attributeName,string type)
{
var localVarPath = $"bim360/docs/v1/projects/{projectId.Replace("b.","")}/folders/{System.Web.HttpUtility.UrlEncode(folderId)}/custom-attribute-definitions";
var localVarQueryParams = new Dictionary<String,String>();
Object localVarPostBody = null;
var localVarHeaderParams = new Dictionary<String,String>(Configuration.Default.DefaultHeader);
var localVarFormParams = new Dictionary<String,String>();
var localVarFileParams = new Dictionary<String,FileParameter>();
var localVarPathParams = new Dictionary<String,String>();
String[] localVarHttpContentTypes = new String[] {
"application/vnd.api+json"
};
String localVarHttpContentType = Configuration.Default.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
if (!String.IsNullOrEmpty(Configuration.Default.AccessToken))
{
localVarHeaderParams["Authorization"] = "Bearer " + Configuration.Default.AccessToken;
}
localVarPostBody = "{\"name\":\"" + attributeName + "\",\"type\":\"" + type + "\"}";
IRestResponse localVarResponse = (IRestResponse)await Configuration.Default.ApiClient.CallApiAsync(localVarPath,Method.POST,localVarQueryParams,localVarPostBody,localVarHeaderParams,localVarFormParams,localVarFileParams,localVarPathParams,localVarHttpContentType);
int localVarStatusCode = (int)localVarResponse.StatusCode;
var response = new ApiResponse</*JsonApiCollection*/dynamic>(localVarStatusCode,localVarResponse.Headers.ToDictionary(x => x.Name,x => x.Value.ToString()),/*(JsonApiCollection)*/ Configuration.Default.ApiClient.Deserialize(localVarResponse,typeof(JsonApiCollection)));
var id = (long)((Autodesk.Forge.Model.DynamicJsonResponse)response.Data).Dictionary["id"];
return id;
}
我收到此错误:CUSTOM_ATTRIBUTE_DUPLICATE_NAME
但是,当我使用以下方法枚举文件夹的自定义属性时: https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-custom-attribute-definitions-GET/
public async Task<Dictionary<long,Tuple<string,string>>> getFolderCustomAttributeDefinition(string projectId,string folderId)
{
var localVarPath = $"bim360/docs/v1/projects/{projectId.Replace("b.",String>();
String[] localVarHttpContentTypes = new String[] {
"application/vnd.api+json"
};
String localVarHttpContentType = Configuration.Default.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
if (!String.IsNullOrEmpty(Configuration.Default.AccessToken))
{
localVarHeaderParams["Authorization"] = "Bearer " + Configuration.Default.AccessToken;
}
IRestResponse localVarResponse = (IRestResponse) await Configuration.Default.ApiClient.CallApiAsync(localVarPath,Method.GET,localVarHttpContentType);
int localVarStatusCode = (int)localVarResponse.StatusCode;
var response = new ApiResponse</*JsonApiCollection*/dynamic>(localVarStatusCode,typeof(JsonApiCollection)));
var sret = ((Autodesk.Forge.Model.DynamicJsonResponse)response.Data).Dictionary["results"];
var resultsDic = ((Autodesk.Forge.Model.DynamicDictionary)sret).Dictionary;
Dictionary<long,string>> ret = new Dictionary<long,string>>();
foreach (var att in resultsDic) {
var attrDic = (Autodesk.Forge.Model.DynamicDictionary)att.Value;
ret.Add((long)attrDic.Dictionary["id"],new Tuple<string,string>((string)attrDic.Dictionary["name"],(string)attrDic.Dictionary["type"]));
}
return ret;
}
它没有显示任何具有该名称的属性。
有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。