我正在使用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。
它看起来像这样,只是为了确定:
jfjfDkFkdfikAAAAAAAAAADkfkDJSJFJISjofdjFjjfoJOIDJSOjsFKPFKPEJKfjiksfd3_thD
现在,我尝试使用UserLogin只使用我的访问令牌作为令牌而没有UserSecret,但是客户端引发了异常,所以我猜这不是正确的方法。
我该怎么做?有没有办法使用此库创建具有访问令牌的客户端,还是必须使用HttpClient手动上载文件?如果是这样,我真的不知道如何做到这一点。
谢谢!
塞尔吉奥
编辑:这是我尝试过的(它不能正常工作):
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。
答案 0 :(得分:0)
看起来不错。尝试将秘密设置为string.empty而不是null?
我不确定我之前是否使用过生成的令牌,但却无法理解为什么它不起作用。