0007-00000010

问题描述

请求回调参数Callback中的callbackBody部分不合法。

问题原因

您发送的请求中用于上传回调的Callback参数Base64解码后会得到一个JSON结构,如果其中callbackBody内的值必须不是字符串,就会导致接口报错。

callbackBody参数表示发起回调时请求body的值,例如key=${object}&etag=${etag}&my_var=${x:my_var},在Callback参数中必须是字符串格式。

问题示例

比如您的请求中callback参数解码后得到:

{
	"callbackUrl":"www.oss-callback.com/test.php",
	"callbackBody":[1, 2, 3]
}

其中callbackBody参数的值是一个列表,而不是接口所要求的包含请求参数的字符串,因此接口会返回该错误。

解决方案

请确保CallbackBody参数的值是一个字符串,且符合bodyType的类型。

  • 如果callbackBodyType的取值为application/x-www-form-urlencoded,示例如下:

{
  "callbackUrl":"www.oss-callback.com/test.php",
  "callbackBody":"{\"mimeType\":${mimeType},\"size\":${size}}",
  "callbackBodyType":"application/json"
}
  • 如果callbackBodyType的取值为application/json,示例如下:

{
	"callbackUrl":"www.oss-callback.com/test.php",
	"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var=${x:my_var}"
}

相关文档