将Dropbox生成的访问令牌与DropNetRT一起使用

本文关键字:DropNetRT 一起 访问令牌 Dropbox | 更新日期: 2025-05-08 12:55:23

我正在使用DropNetRT库,我找不到只使用Dropbox帐户中应用程序页面中生成的访问令牌来创建工作的DropNetClient的方法。

如果我使用我的用户密钥和用户令牌,它会起作用:

public static async Task UploadStuff()
{
    DropNetClient client = new DropNetClient("APIKey", "AppSecret");
    client.SetUserToken(new UserLogin() { Secret = "mySecret", Token = "myToken" });
    // Then upload the data with the client
}

但是,我只想使用我的生成访问令牌,而不是我的UserToken和UserSecret。

可以肯定的是,它看起来像这样:

jfjfDkFkdfikAAAAAAAAAADkkDJSJFJISjofdjfjfoJOIDJSFKPFKPEJKfjiksfd3_thD

现在,我尝试使用UserLogin,只使用我的访问令牌作为令牌,不使用UserSecret,但客户端抛出了一个异常,所以我想这不是正确的方法。

我该怎么做?有没有办法用这个库创建一个带有访问令牌的客户端,或者我必须使用HttpClient手动上传文件?如果是这样的话,我真的不知道该怎么做。

谢谢!

Sergio

编辑:这是我尝试过的(不起作用):

public static async Task TestUploadGeneratedToken()
{
    // Create the client
    DropNetClient client = new DropNetClient("APIKey", "AppSecret");
    client.SetUserToken("MyGeneratedAccessToken", String.Empty);
    // Get a test file
    StorageFile tempFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync("test.txt", CreationCollisionOption.OpenIfExists);
    await FileIO.WriteTextAsync(tempFile, "This is a simple test file");
    // Convert the file to a byte array
    IRandomAccessStream stream = await tempFile.OpenAsync(FileAccessMode.Read);
    stream.Seek(0);
    byte[] bytes = new byte[stream.Size];
    await stream.ReadAsync(bytes.AsBuffer(), (uint)stream.Size, InputStreamOptions.None);
    // Upload the file
    await client.Upload(CrashReportPath, "tokenTest.txt", bytes);
}

Upload方法抛出DropboxException。

将Dropbox生成的访问令牌与DropNetRT一起使用

看起来不错。是否尝试将机密设置为字符串.空而不是null?

我不确定我以前是否使用过生成的令牌,但不明白为什么它不起作用。