私は Dropbox OAuth に DropNet を使用していますが、大きな問題が 1 つあります。アクセス トークン キーを保存できず、それらを保存する意味がない秘密の原因です。ここでは、保存メカニズムは問題ではなく、重要な問題でもありません。問題は次のとおりです。
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);
}
}
ここでの問題は、最初はアップロードできますが、2 回目はアップロードできません。dropboxLoggedIn は true で、アクセス トークン キーとシークレットは問題なく保存されていますが、ファイルはアップロードされませんが、奇妙なことに返されません。エラーまたは例外。同じことが起こった場合に GetToken を移動すると。どこか間違っていることはわかっていますが、どこに行くのかわかりません。ファイルパスなどのコードの一部をストライプ化し、無関係なファイルを取得しました。Twitterでも同じことをしましたが、問題なく動作します。何か案は?