如何解决我的应用程序在 checkUser 上获得 200,但在 filesUpload 上获得 400,在 filesListFolder 上获得 401 - 范围错误吗?
我设置了一个新的 DropBox 应用。我可以进行身份验证,并且 checkUser 调用的结果是 200。
但是,filesListFolder(路径为“”)得到 400,filesupload 也是如此。
该应用程序正在使用 kotlinjs,所以这可能是问题所在(尽管我成功包装了其他库,并且到此为止的 oauth 流程已成功);这也可能是范围问题(应用程序仍处于开发模式,我选择了 account_info.read/write、files.Metadata.read/write、files.content.read/write 并将其保存在仪表板中。)
我正在使用此流程 https://github.com/dropbox/dropbox-sdk-js/blob/main/examples/javascript/auth/index.html 而不是 https://dropbox.tech/developers/pkce--what-and-why-(考虑到我最初遇到 https://github.com/dropbox/dropbox-sdk-js/issues/527 与后者。)
代码:
fun testWithToken(token: String) {
val auth = object: DropBox.AuthenticatedOpts {
override val accesstoken: String
get() = token
}
val dbx = DropBox.DropBox(auth)
dbx.checkUser(auth).then(onFulfilled = { resp ->
console.log("Can connect")
console.log(resp)
},onRejected = { err ->
console.log("Can't even auth")
console.log(err)
})
dbx.filesupload(object: DropBox.UploadRequest {
override val path: String
get() = "foo.txt"
override val contents: String
get() = "This is the content right here"
override val mute: Boolean
get() = false
}).then(onFulfilled = { resp ->
console.log("Uploaded file!")
console.log(resp)
},onRejected = { err ->
console.log("Couldn't upload!")
console.log(err)
})
// also tried with the object shown below for these request args
dbx.filesListFolder(mapOf("path" to "")).then(onFulfilled = { resp ->
console.log("Success")
console.log(resp)
},onRejected = { err ->
console.log("Fail")
console.log(err)
})
}
// ---
@JsModule("dropBox")
@JsNonModule
external object DropBox {
interface UnauthenticatedOpts {
val clientId: String
}
interface AuthenticatedOpts {
val accesstoken: String
}
interface ListRequest {
val path: String
val recursive: Boolean
val include_media_info: Boolean
val include_deleted: Boolean
val include_has_explicit_shared_members: Boolean
val include_mounted_folders: Boolean
val include_non_downloadable_files: Boolean
}
interface UploadRequest {
val path: String
val contents: String
val mute: Boolean
}
class DropBox(opts: UnauthenticatedOpts) {
constructor(opts: AuthenticatedOpts)
class Auth {
fun getAuthenticationUrl(redirectUri: String): Promise<String>
}
val auth: Auth = definedExternally
fun checkUser(opts: AuthenticatedOpts): Promise<Map<String,Any>>
fun filesListFolder(opts: Map<String,Any>): Promise<Map<String,Any>>
fun filesupload(opts: UploadRequest): Promise<Map<String,Any>>
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。