我正在爲用戶需要登錄的Windows Phone 8開發應用程序,然後該應用程序將張貼到用戶的牆上。爲什麼我下次使用我的應用程序時不需要登錄?
我已經基本弄清楚了,但在第一次登錄後,我不必再次登錄。我嘗試刪除手機上的瀏覽器數據,檢查了我的運行時目錄,並嘗試使用FacebookClient.GetLogoutUrl註銷並導航到它,但仍認爲我已登錄。
我的登錄信息如何存儲?
一旦我弄清楚了,是否有一種很好的方法可以在運行時確定這一點,以便我的應用程序可以相應地進行自我配置?
我正在爲用戶需要登錄的Windows Phone 8開發應用程序,然後該應用程序將張貼到用戶的牆上。爲什麼我下次使用我的應用程序時不需要登錄?
我已經基本弄清楚了,但在第一次登錄後,我不必再次登錄。我嘗試刪除手機上的瀏覽器數據,檢查了我的運行時目錄,並嘗試使用FacebookClient.GetLogoutUrl註銷並導航到它,但仍認爲我已登錄。
我的登錄信息如何存儲?
一旦我弄清楚了,是否有一種很好的方法可以在運行時確定這一點,以便我的應用程序可以相應地進行自我配置?
您必須提供GetLogoutURL
功能與用戶access_token
。
試試這個方法得到LogoutURL並導航到它:
public static string GetLogoutURL(string AccessToken)
{
var fb = new FacebookClient();
var logoutUrl = fb.GetLogoutUrl(new { access_token = AccessToken, next = "https://www.facebook.com/connect/login_success.html" });
return logoutUrl.ToString();
}
使用任何隱藏的web瀏覽器做這個導航:
AnyWebBrowserControl.Navigate(GetLogoutURL(AccessToken));
這是因爲一旦產生,一個訪問令牌有效期爲2個月。即使用戶註銷,仍然可以向API發出請求,直到訪問令牌有效。
And once I figure that out, is there a good way to determine this at runtime so that my app can configure itself accordingly?
是的,你可以檢查(在運行時),如果訪問令牌是有效的或過期通過尋找FacebookOAuthException
這裏有一個很好的教程:http://www.thepcwizard.in/2013/02/working-with-facebook-c--sharp-sdk.html