【发布时间】:2015-09-16 14:58:03
【问题描述】:
我使用 HigLabo.Net.Dropbox 将文件上传到 Dropbox。我创建了一个名为 synch 的应用程序,我正在尝试上传一个文件。下面是我的代码
byte[] bytes = System.IO.File.ReadAllBytes(args[1]);
UploadFile(bytes,"sundas.jpg","/Apps/synch/");
public static void UploadFile(byte[] content, string filename, string target)
{
string App_key = "xxxxxxxxxxxxxxx";
string App_secret = "yyyyyyyyyyyyyy";
HigLabo.Net.OAuthClient ocl = null;
HigLabo.Net.AuthorizeInfo ai = null;
ocl = HigLabo.Net.Dropbox.DropboxClient.CreateOAuthClient(App_key, App_secret);
ai = ocl.GetAuthorizeInfo();
string RequestToken= ai.RequestToken;
string RequestTokenSecret= ai.RequestTokenSecret;
string redirect_url = ai.AuthorizeUrl;
AccessTokenInfo t = ocl.GetAccessToken(RequestToken, RequestTokenSecret);
string Token= t.Token;
string TokenSecret= t.TokenSecret;
DropboxClient cl = new DropboxClient(App_key, App_secret, Token, TokenSecret);
HigLabo.Net.Dropbox.UploadFileCommand ul = new HigLabo.Net.Dropbox.UploadFileCommand();
ul.Root = RootFolder.Sandbox;
Console.WriteLine(ul.Root);
ul.FolderPath = target;
ul.FileName = filename;
ul.LoadFileData(content);
Metadata md = cl.UploadFile(ul);
Console.WriteLine("END");
}
代码执行正常,但文件没有上传到 Dropbox。
我错过了什么吗?上传路径是否正确?无论是否上传,如何在 Dropbox 中查看文件?
在创建应用程序时是否有我遗漏的设置?我只是在看主页,我期待根文件夹中的文件。我说的对吗?
或者我需要查看其他位置吗?
【问题讨论】:
-
您是否收到任何错误,API 请求返回的数据?
-
感谢您的留言。打印时我得到 {"error": "Authentication failed"}....不确定哪个身份验证失败。我正在使用下拉框浏览器中的密钥。我还需要进行一些身份验证吗?
-
我正在关注此链接codingstill.com/2013/11/…。我不确定我需要在哪里/我需要如何授权。请输入任何内容
-
知道我需要通过提供我的保管箱凭据来手动授权。我需要这是自动化的。我知道访问代码。有没有办法通过代码授权,避免通过浏览器人工干预?
-
您只需要认证一次。从那时起,您可以一遍又一遍地存储和重复使用相同的访问令牌。如果这只是供您使用,您可以generate an OAuth 2 access token from the App Console,但看起来您正在使用的库可能仍使用 OAuth 1 而不是 OAuth 2。
标签: c# dropbox dropbox-api higlabo