我将 DropNet 用于 Dropbox OAuth,但我有一个主要问题 - 我无法存储访问令牌密钥和机密,因为存储它们毫无意义。存储机制不是问题,也不是关键问题——问题在于:
private void dropboxUpload()
{
DropNetClient _Dclient = new DropNetClient("xxxxxxxxxxxxxxx", "yyyyyyyyyyyyyyy");
_Dclient.UseSandbox = true;
if (!dropboxLoggedIn)
{
_Dclient.GetToken();
string url = _Dclient.BuildAuthorizeUrl();
Process.Start(url);
if (MessageBox.Show("Click OK after you have allowed Sizester to create and access a sub-folder called Sizester in a folder called Apps in your Dropbox account.", "Sizester access request", MessageBoxButtons.OKCancel) != System.Windows.Forms.DialogResult.OK)
{
return;
}
}
try
{
if (!dropboxLoggedIn)
{
_Dclient.GetAccessToken();
dropboxAsecret = _Dclient.UserLogin.Secret;
dropboxAtoken = _Dclient.UserLogin.Token;
}
else
{
_Dclient.UserLogin.Token = dropboxAtoken;
_Dclient.UserLogin.Secret = dropboxAsecret;
}
dropboxLoggedIn = true;
//...
_Dclient.UploadFile("/", fileE, FileToByteArray(newFilePath));
MessageBox.Show("Successfully uploaded to Dropbox.", "Uploaded to Dropbox");
}
catch (Exception dropboxEx)
{
MessageBox.Show("Error: " + dropboxEx.Message);
}
}
这里的问题是 - 第一次上传正常,但第二次没有 - 虽然 dropboxLoggedIn 为真,并且访问令牌密钥和秘密存储正常,但它不上传文件,但更奇怪的是它不返回任何错误或异常。如果发生同样的事情,我将 GetToken 移出。我知道我在某个地方做错了,但我不知道在哪里。我已经剥离了一些代码部分,如文件路径并获取不相关的文件。我为 Twitter 做了同样的事情,但它在那里没有问题。有任何想法吗?