Windows 8 当我当前的Facebook访问令牌过期时,如何无形中获取新的Facebook访问令牌?(Windows 8应用程序C#)

Windows 8 当我当前的Facebook访问令牌过期时,如何无形中获取新的Facebook访问令牌?(Windows 8应用程序C#),windows-8,facebook-c#-sdk,windows-store-apps,facebook-access-token,Windows 8,Facebook C# Sdk,Windows Store Apps,Facebook Access Token,在我的应用程序中(遵循各种文档),用户可以通过专用的登录页面登录到facebook。由此,将给出访问令牌并保存它。问题是通过这种方式获取令牌(使用wait WebAuthenticationBroker.authenticateSync(WebAuthenticationOptions.None,loginUri,new-Uri(redirectUri));,这似乎是从facebook自动显示登录屏幕,我真的不知道它是如何显示的…)意味着用户必须再次键入用户名和密码 我不希望出现这种情况,因为我

在我的应用程序中(遵循各种文档),用户可以通过专用的登录页面登录到facebook。由此,将给出访问令牌并保存它。问题是通过这种方式获取令牌(使用
wait WebAuthenticationBroker.authenticateSync(WebAuthenticationOptions.None,loginUri,new-Uri(redirectUri));
,这似乎是从facebook自动显示登录屏幕,我真的不知道它是如何显示的…)意味着用户必须再次键入用户名和密码

我不希望出现这种情况,因为我认为如果用户登录过一次,他们就不需要反复输入详细信息。然而,无论我尝试了什么,我似乎都可以获得一个新的访问令牌,而无需再次通过此登录屏幕

我尝试过使用
FacebookClient.Get()
方法的方法,但是它在这个版本的SDK中并不存在。我不知道用什么来代替它,也不知道我需要发送什么到Facebook才能得到回复

到目前为止,这是我第一次登录的内容(与文档中的内容基本相同)

在连续启动应用程序时,在用户首次输入他们的详细信息后,保存的访问令牌可以使用,但很快就会过期,这会引发一个
facebook异常
。这就是我试图以不可见的方式获取新的访问令牌的地方,但它不起作用

        try
        {
            await fb.PostTaskAsync(url, argList);
        }

        catch (FacebookOAuthException exc)
        {
            Debug.WriteLine(exc.Message);
            ValidateLoginUrl(GetLoginUrl());
            //Problem is with the ValidateLoginUrl(), which would get an access token from the login url
        }
我尝试过的一件事是在loginUrl上使用
TryParseOAuthCallbackUrl()
,我可以使用
FacebookClient.GetLoginUrl()
(这是成功的),但当我尝试解析它时,它只会出现一个
无效操作异常
,否则没有解释

我必须做什么才能获得新的访问令牌,而不必用户再次登录?我有我的应用程序ID和密码,我可能会从初始登录中保存用户ID以供以后使用(?)。这些有助于做到这一点吗

        try
        {
            await fb.PostTaskAsync(url, argList);
        }

        catch (FacebookOAuthException exc)
        {
            Debug.WriteLine(exc.Message);
            ValidateLoginUrl(GetLoginUrl());
            //Problem is with the ValidateLoginUrl(), which would get an access token from the login url
        }