2012-07-31 40 views
0

我正在使用dropnet API访问dropbox使用c#.i发送我的apikey和密钥,我得到的响应token.but当我尝试获取帐户信息或删除文件它引发未经授权的使用例外。任何人都可以帮助我。我的代码如下。dropnet api c#未经授权的用户异常

DropNet.DropNetClient client = new DropNet.DropNetClient("xxxxxxxxx", "xxxxxxxxx"); 
      DropNet.Models.UserLogin login = client.GetToken(); 
      client.UserLogin = login; 
      string st=client.BuildAuthorizeUrl(client.UserLogin,null); 
      client.Delete("/Public/testsk"); 
      var accountInfo = client.AccountInfo(); 

问候,

国王哈立德。

+0

首先,不要公开发布你的应用密钥/秘密。其次,您是否完全处理了OAuth流程,即获取请求令牌,构建授权URL,让用户去那里并允许应用程序,然后调用访问令牌?据推测,未经授权的错误是401意味着你没有有效的访问令牌:https://www.dropbox.com/developers/reference/api – Greg 2012-07-31 20:11:16

回答

0

的Dropbox API使用标准的HTTP错误代码, 你的情况,401通常意味着用户访问令牌过期或撤销,它应该重新创建,

所有你需要做的是重新验证最终用户的Dropbox账户做顺序接下来的步骤:

  1. 您的应用程序的基本身份验证:

        client = new DropNetClient(Settings.Default.DropboxApiKey, Settings.Default.DropboxApiSecret); 
           client.GetToken(); 
    
  2. 让用户登录Dropbox的与他们的帐户,并同意你的Dropbox应用:

     string url = Client.BuildAuthorizeUrl(); 
    
  3. 检索和保存身份验证的用户令牌:

     UserLogin accessToken = Client.GetAccessToken(); 
        Account.Token = accessToken.Token; 
        Account.Secret = accessToken.Secret; 
        Account.Status = AccountStatus.Active; 
    

最后 - 保存在您的应用程序帐户数据 - 帐户.Save()