DropNet集成 - GetAccessTokenAsync错误

时间:2013-04-13 21:35:08

标签: c# windows-phone dropbox-api dropnet

我正在尝试将DropNet library实施到我的Windows Phone应用中,但在调用GetAccessTokenAsync方法时出现错误。

第1步:从Dropbox获取oauth令牌

public void ConnectToDropbox()
{
    _client = new DropNetClient(API_KEY, API_SECRET);
    _client.UseSandbox = true;

    // Get Request Token (oauth token) from Dropbox
    _client.GetTokenAsync(
        (userLogin) =>
        {
            // Authorise app with Dropbox
            var url = _client.BuildAuthorizeUrl();
            browser.LoadCompleted += new System.Windows.Navigation.LoadCompletedEventHandler(browser_LoadCompleted);
            browser.Navigate(new Uri(url));
        },
        (error) =>
        {
            Debug("Error: GetTokenAsync");
        });

}

这似乎正常工作并返回oauth授权代码。浏览器导航到的URL是 https://www.dropbox.com/1/oauth/authorize?oauth_token=TSLEY7lLS8K2Mmnr

第2步:将oauth令牌转换为可用的Dropbox API令牌

void browser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    Debug("Callback URL: " + e.Uri.AbsoluteUri);
    if (e.Uri.AbsolutePath == "/1/oauth/authorize")
    {

        //The User has logged in!
        //Now to convert the Request Token into an Access Token
        _client.GetAccessTokenAsync(
            (response) =>
            {
                Debug("User is logged in");
                LoadContents();
            },
                (error) =>
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        Debug("Error getting access token (GetAccessTokenAsync)");
                        MessageBox.Show(error.Message);
                    });
                });
    }
    else
    {
        //Probably the login page loading, ignore
    }
}

GetAccessTokenAsync方法在运行时抛出以下异常:

System.Windows.ni.dll中出现“System.Net.WebException”类型的异常,并且在托管/本地边界之前未处理

应用内消息框显示: 抛出了“DropNet.Exceptions.DropboxException”类型的异常。

DropboxException对象的所有属性如下:

回复: RestSharp.RestResponse

状态代码:未经授权

堆栈追踪:

数据:System.Collections.ListDictionaryInternal

基本异常: DropNet.Exceptions.DropboxException:抛出了“DropNet.Exceptions.DropboxException”类型的异常。

内部例外:

输入: DropNet.Exceptions.DropboxException

状态代码未经授权是否相关?我正在使用适当的API密钥和Dropbox提供的秘密。

如果在使用DropNet时遇到类似问题的任何人在解决此问题时能给我一些建议,我将不胜感激。如果需要,很高兴提供任何进一步的信息。

提前致谢,

安德鲁

0 个答案:

没有答案