0

我正在尝试从存储桶中删除一个对象。阅读文档听起来非常简单,但我似乎无法让它工作。

我正在按照此处的说明尝试删除此对象,我可以看到使用https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects

bucketKey => 'my-persistent-bucket'
        objectKey => '--test2.dwg'
        objectId => 'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'
        sha1 => '477085439a60779064d91fd1971d53c77c7a163a'
        size => (int) 188600
        location => 'https://developer.api.autodesk.com/oss/v2/buckets/my-persistent-bucket/objects/--test2.dwg' 

根据文档,我们使用这个端点:

https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName

在哪里

:bucketKey是 url 编码的'my-persistent-bucket'

:objectName是 url 编码的'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'

我尝试过使用 PHPurlencode()和以下 base64 编码函数:

private function _base64url_encode($data) {
  return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}

编码:bucketKey:objectName但无论我如何尝试编码,我总是得到:

404 : Object not found

谁能帮我理解我哪里出错了?

非常感谢

4

1 回答 1

2

当然,在我发了一个 SO 帖子之后,我找到了答案。

:objectName对于任何有同样问题的人,您必须'--test2.dwg'使用 PHP 的rawurlencode()函数而不是urlencode().

于 2016-09-23T11:13:51.807 回答