WP7アプリでC#facebook sdkを使い始めましたが、機能しますが、ログインできるのは1回だけです。Webブラウザーを開き、Facebookのログインページをロードするクラスがあります。私は自分の情報を入力します、そしてそれは私がしたいことをします。しかし、もう一度ログインしようとすると、以前に提供した情報が記憶され、他のFacebookアカウントをテストできません。別のアカウントでログインできるように古いデータを消去する方法を知っている人はいますか?
質問する
311 次
2 に答える
1
別のアカウントでログイン操作を行うには、ログアウト操作を行う必要があります。ログアウトを行うには、このコードを試してください。
public partial class LogoutPage : PhoneApplicationPage
{
private Uri navigateUrl;
public FacebookOAuthResult FacebookOAuthResult { get; private set; }
public LogoutPage()
{
var appId = "173963872698818";
string[] extendedPermissions = new[] { "user_about_me", "offline_access" };
var oauth = new FacebookOAuthClient { AppId = appId };
var parameters = new Dictionary<string, object>
{
{ "response_type", "token" },
{ "display", "wap" } //"popup works, touch not works
};
if (extendedPermissions != null && extendedPermissions.Length > 0)
{
var scope = new StringBuilder();
scope.Append(string.Join(",", extendedPermissions));
parameters["scope"] = scope.ToString();
}
var loginUrl = oauth.GetLoginUrl(parameters);
var logoutParameters = new Dictionary<string, object>
{
{ "next", loginUrl }
};
//Redirect to the following url.
// https://www.facebook.com/logout.php?next=YOUR_URL&access_token=ACCESS_TOKEN
//this.navigateUrl = oauth.GetLogoutUrl(logoutParameters);
var a = App.Current as App;
string absoluteURI = " https://www.facebook.com/logout.php?next=http://www.fengshuiexplorer.host56.com&access_token=" + a.myToken;
this.navigateUrl = new Uri(absoluteURI);
InitializeComponent();
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
webBrowser1.Navigate(this.navigateUrl);
}
private void webBrowser1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
FacebookOAuthResult result;
if (FacebookOAuthResult.TryParse(e.Uri, out result))
{
this.FacebookOAuthResult = result;
var a = App.Current as App;
a.isLoggedIn = false;
NavigationService.GoBack();
}
else
{
this.FacebookOAuthResult = null;
}
}
}
于 2013-02-28T10:47:11.923 に答える
0
または、再度ログインする前に、以下のコード スニペットを呼び出すこともできます。
await new WebBrowser().ClearCookiesAsync();
于 2014-07-18T04:15:43.430 に答える