2016-09-23 152 views
0

我试图从存储桶中删除一个对象。阅读文档听起来非常简单,但我似乎无法使其工作。从存储桶中删除文件

我按照说明here,试图删除这个对象,我可以看到使用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 is url encoded 'my-persistent-bucket'

:objectName是URL中使用PHP的urlencode()及以下的base64编码函数编码'urn:adsk.objects:os.object:my-persistent-bucket/--test2.dwg'

我已经试过:

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

来编码:bucketKey:objectName,但不管我怎么努力,我总是对其进行编码得到:

404 : Object not found 

任何人都可以帮助我了解我哪里出错了吗?

非常感谢

回答

1

当然,我做了一个SO后,我找到了答案。

具有相同问题的人必须编码您:objectName,这仅仅是文件名,在我的例子'--test2.dwg',使用PHP的rawurlencode()功能,而不是urlencode()

相关问题