3

所以我不熟悉将外部 API 用于项目,但我有一个想法,我想看看我是否可以正确地将文件上传到 Dropbox。我已经完成了获取密钥和令牌的步骤,并且我已经开始测试,但我遇到了一个错误:

DropNet.dll 中出现“System.ArgumentNullException”类型的未处理异常附加信息:值不能为空。

更新:进一步调查错误,为空的实际参数将是“userLogin”**

这是我在错误之前的代码://using Dropnet;

DropNetClient _client = new DropNetClient("API_KEY", "API_SECRET", DropNetClient.AuthenticationMethod.OAuth1);

产生错误的代码:

var url = _client.BuildAuthorizeUrl();

我的代码跟随错误:

Process.Start(url);
_client.GetAccessTokenAsync((accessToken) =>
    {
        _client = new DropNetClient("API_KEY", "API_SECRET", accessToken.Token, accessToken.Secret);
    },
    (error) =>
    {
        MessageBox.Show(error.Message);
    });
try
{
    _client.UploadFile("/", "test.txt", ReadFile(@"D:\Classes\Documents\test.txt"));

    MessageBox.Show("Successfully uploaded to Dropbox.", "Uploaded to Dropbox");
}
catch (Exception dropboxEx)
{
    MessageBox.Show("Error: " + dropboxEx.Message);
}

我很确定这个错误与客户端的减速有关,也许我滥用了密钥和秘密?或者我的 OAuth uri 可能不正确,我不太确定,但万一这很重要,我的 Dropbox 开发人员页面如下所示:

我的 Dropbox 页面 如果您需要更多信息,请告诉我,感谢您的帮助!

4

1 回答 1

1

已修复:需要在我的 _client 减速下方添加一个简单的代码片段

UserLogin login = _client.GetToken();
_client.UserLogin = login;
于 2014-01-27T20:41:53.767 回答