微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的应用程序在 checkUser 上获得 200,但在 filesUpload 上获得 400,在 filesListFolder 上获得 401 - 范围错误吗?

如何解决我的应用程序在 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?