0

I'm trying rename a file on a BIM360 account using this end point link

But every request return this message:

{
    "jsonapi":{
        "version":"1.0"
        },
    "errors":[
        {
            "id":"8b976b03-ed82-425b-819d-e0e62f931182",
            "status":"400",
            "code":"BAD_INPUT",
            "title":"One or more input values in the request were bad",
            "detail":"Request input is invalid for this operation."
        }
    ]
}

Method used:

    public async Task RenameFile(string newFileName, string projectId, string itemId)
    {
                if (string.IsNullOrEmpty(projectId) || string.IsNullOrEmpty(itemId) ||
                    string.IsNullOrEmpty(newFileName)) return;

                var body = JObject.FromObject(new {
                    jsonapi = new
                    {
                        version = "1.0"
                    },
                    data = new
                    {
                        type = "items",
                        id = itemId,
                        attributes = new
                        {
                            displayName = newFileName
                        }
                    }
                });

                var client = new RestClient(BaseUrl);

                var request = new RestRequest("/data/v1/projects/{project_id}/items/{item_id}", Method.PATCH);

                request.AddHeader("Authorization", "Bearer " + TokenBim360.AccessToken);
                request.AddUrlSegment("project_id", projectId);
                request.AddUrlSegment("item_id", itemId);
                request.AddParameter("application/vnd.api+json", body.ToString(Formatting.None), ParameterType.RequestBody);

                var response = await client.ExecuteTaskAsync(request);
    }

The most strange things is that same code works fine in A360...

What I'm doing wrong?

4

1 回答 1

0

不幸的是,用于在 BIM 360 上更新名称的 PATCH 仅适用于文件夹。无法从 API 更新文件名。您没有做错任何事情,只是功能不可用。我将与工程团队交谈,因为此请求也来自其他开发人员,以考虑在下一个版本中添加。

于 2017-09-28T16:25:51.560 回答