在字典中找不到给定的密钥

时间:2014-01-20 13:11:01

标签: windows-phone-7 twitter windows-phone-8

我正在开发windows phone 8应用程序。在这方面,我必须整合Twitter。所以我按照下面的教程。

http://code.msdn.microsoft.com/wpapps/Latest-Twitter-integration-a42e8bb6

我在我的应用程序中成功实现了twitter。我已经在模拟器和设备中对此进行了测试。一切都很好。

突然在设备中,应用程序无法打开页面中的twitter登录。我在下面的方法中遇到错误,以**开头。

 void requestTokenQuery_QueryResponse(object sender, WebQueryResponseEventArgs e)
    {
        try
        {
            StreamReader reader = new StreamReader(e.Response);
            string strResponse = reader.ReadToEnd();
            var parameters = MainUtil.GetQueryParameters(strResponse);
            **OAuthTokenKey = parameters["oauth_token"];**
            tokenSecret = parameters["oauth_token_secret"];
            var authorizeUrl = AppSettings.AuthorizeUri + "?oauth_token=" + OAuthTokenKey;

            Dispatcher.BeginInvoke(() =>
            {
                this.loginBrowserControl.Navigate(new Uri(authorizeUrl, UriKind.RelativeOrAbsolute));
            });
        }
        catch (Exception ex)
        {
            Dispatcher.BeginInvoke(() =>
            {
                MessageBox.Show(ex.Message);
                pi.IsVisible = false;
            });                
        }
    }

字典中没有给定的密钥。

但在模拟器中,如果用户未登录并发布消息,我已成功重定向到登录页面。

我不知道设备中存在什么问题。请尽快帮助我。我期待你的回复。

1 个答案:

答案 0 :(得分:0)

当您用于测试应用程序的设备没有SIM卡时会出现此问题,因为没有SIM卡的设备无法与twitter api服务器的计时相匹配,这种不匹配会导致身份验证错误,因为api由于api服务器和设备之间的时间差异很大,凭证无效,因此请尝试在内置SIM卡的设备上进行检查。