将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。
看起来不错。是否尝试将机密设置为字符串.空而不是null?
我不确定我以前是否使用过生成的令牌,但不明白为什么它不起作用。