0

大家好,我正在尝试使用 dropnet 作为将 dropbox 用作我的应用程序的云存储的手段,并使用正常的 0auth 遵循 3 步过程

1.获取请求令牌[完成]

2.发送用户授权,取回验证者[完成]

3.使用原始请求令牌和验证者获取访问令牌[问题!]

如果我正确理解 api,因为我想使用单个帐户进行存储,我需要 api 密钥、api 秘密、令牌和秘密。令牌和秘密似乎可以从第三步访问,这是我的麻烦。

从第二步我得到这个网址

https://www.dropbox.com/1/oauth/authorize?oauth_token=xxxxxxxxxx

在按下身份验证以允许我的应用使用保管箱之前

从我读到的文档中,您需要使用此方法 UserLogin GetAccessToken(string code, string redirectUri);

我假设这里 xxxxx 是验证原始的字符串代码

所以我编写了如下代码

var accessToken = client.GetAccessToken("xxxxxxx","https://www.dropbox.com/1/oauth/authorize?oauth_token=xxxxxxxxxx);
            var ats =accessToken.Secret;
            var att = accessToken.Token;
 Console.Writeline(ats);
Console.Writeline(att):

希望让控制台为我的帐户打印我的秘密和令牌,但它不起作用?给我的错误

DropNet.dll 中出现“DropNet.Exceptions.DropboxRestException”类型的未处理异常

请帮忙 !

4

1 回答 1

0

自己解决了问题,这里是完整的代码

DropNetClient client = new DropNetClient(variable.ApiKey, variable.ApiSecret);



]
           var response =client.GetToken();
            var t = response.Token;
            var s = response.Secret;
            Console.WriteLine(s);
            Console.WriteLine(t);
            var authorizeUrl = client.BuildAuthorizeUrl(new DropNet.Models.UserLogin
            {
                Secret = s,
                Token = t

            }
                );

            DropNetClient client2= new DropNetClient(variable.ApiKey, variable.ApiSecret,t,s);


            // Prompt for user to auth
            Process.Start(authorizeUrl);
            // PRESS KEY AFTER authorization AFTER
            Console.ReadKey();

          // If the user authed, let's get that token
          try
            {
                var Token = client2.GetAccessToken();
                var userToken = Token.Token;
                var userSecret = Token.Secret;
                Console.WriteLine(userSecret);//ACCESS TOKEN SECRET
                Console.WriteLine(userToken);//ACCESS TOKEN
                Console.ReadKey();
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception! " + e.Message);
                Console.ReadKey();

            }
            // save for later
于 2015-05-05T12:24:14.967 回答