Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Autodesk Forge API验证和创建存储桶_C#_Asp.net_Autodesk Forge - Fatal编程技术网

C# 使用Autodesk Forge API验证和创建存储桶

C# 使用Autodesk Forge API验证和创建存储桶,c#,asp.net,autodesk-forge,C#,Asp.net,Autodesk Forge,我正在学习Autodesk Forge API。通过一个简单的C#应用程序,我能够使用Forge API进行身份验证 var responseString = await "https://developer.api.autodesk.com/authentication/v1/authenticate" .PostUrlEncodedAsync(new {

我正在学习Autodesk Forge API。通过一个简单的C#应用程序,我能够使用Forge API进行身份验证

var responseString = await 
"https://developer.api.autodesk.com/authentication/v1/authenticate"
                                .PostUrlEncodedAsync(new
                                {
                                    client_id = Client_ID.Text,
                                    client_secret = Client_Secret.Text,
                                    grant_type = "client_credentials",
                                    scope = "data:read data:write bucket:create bucket:read"
                                })
                                .ReceiveJson();
虽然我已经明确指定了bucket:read作用域bucket:read,但检查bucket是否存在的进一步调用失败,错误为:-

Http代码403(禁止),消息为“仅允许bucket创建者访问此API”

当我尝试创建另一个具有相同名称的bucket时,失败的原因如下:-

Http代码409(冲突)与消息“Bucket已存在”


有人能帮我解释一下这里缺少什么吗?

是的,问题是您的bucket key在所有应用程序和区域中都应该是全局唯一的。您可以查看位于的文档以了解详细信息,尤其是Bucket Key的描述。

您尝试访问的Bucket仅由您创建?@ChetanRanpariya,否,在创建Bucket之前,我正在调用API检查它是否存在(希望它返回的Bucket不存在),但错误消息不同。我查看了API文档,发现名称不仅在应用程序中应该是唯一的,而且在所有应用程序中都应该是唯一的。因此,基本上,我尝试了一些长名称,在尝试了几次之后,我能够使用我唯一的名称创建一个bucket。令人困惑的是,为什么他们在所有应用程序中都强制执行这种唯一性。不幸的是,目前这只是服务的一个限制,所以请尝试使用唯一的名称,您可以使用所使用语言的任意随机特性非常轻松地生成类似GUID的名称,或者使用Forge ClientID作为bucket名称的前缀或后缀:“bucket1-”。希望这能有所帮助。@PhilippeLeefsma,谢谢。目前我正在使用一些随机名称,但会按照建议的惯例尝试。谢谢。我将使用“Philippe”建议的模式来形成唯一的名称。