Dropnet获取访问令牌无法实现0auth的第3步

时间:2015-05-03 14:02:10

标签: c# dropnet

大家好我试图使用dropnet作为我的应用程序使用dropbox作为云存储的方法,并使用正常的0auth执行3步骤

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

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

3.使用原始请求令牌和验证者[issue!]

获取访问令牌

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

从第二步开始我得到这个网址

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

在按下身份验证之前允许我的应用使用dropbox

从我阅读的文档中您需要使用此方法  UserLogin GetAccessToken(字符串代码,字符串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):

希望让控制台为我的帐户打印我的秘密和令牌,但它有效吗?给我错误

未处理的类型&#39; DropNet.Exceptions.DropboxRestException&#39;发生在DropNet.dll

请帮忙!

1 个答案:

答案 0 :(得分: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