go sdk 的问题

问题1:
scope指定了bucket:key之后就报错误:{"error":"bad token"} scope只指定bucket就没有错误。为什么?

问题2:
目录src/github.com/qiniu/api/rs下,填好了ak,sk,bucketName,domain之后,执行 go test,报错: --- FAIL: TestEntry (0.33s)
rs_api_test.go:74: {"error":"","reqid":"4FcAAK-3snaLN70T","details":["RS/403"],"code":403} --- FAIL: TestGetPrivateUrl (0.30s)
panic: runtime error: slice bounds out of range [recovered] panic: runtime error: slice bounds out of range

阅读 3k
2 个回答

问题应该出在,put函数中的key和scope中指定的key不一致,scope制定的key,需要和下面函数中的key完全一致即可。

func Put(l rpc.Logger, ret interface{}, uptoken, key string, data io.Reader, extra *PutExtra) error {
    return putReader(l, ret, uptoken, key, true, data, extra)
}

是这个问题。客户端指定了key之后就可以了。但是在文档里面没有找到这个限制条件,建议加在里面。

推荐问题