Windows Phone 8 Facebook LoginWithApp不再适用于我
本文关键字:不再 适用于 LoginWithApp Facebook Phone Windows | 更新日期: 2023-09-27 18:25:22
从今天早上开始,Facebook SDK似乎无法再使用Facebook应用程序登录。当我调用C#SDK中的FacebookSessionClient.LoginWithApp()方法时,它将打开Facebook,然后使用Facebook网站登录打开一个网络框架。当在网络框架上填写凭据时,应用程序不会向原始应用程序发出回调,因此您无法再登录Facebook。
我已经在两台设备上测试过了,但似乎都不起作用。
是否有其他人遇到此问题,或者这是一个已知的解决方案问题?
这是我的RelayCommand调用方法
public RelayCommand LoginButton
{
get
{
return _loginButton = _loginButton ??
new RelayCommand(() =>
{
var fbSessionClient = new FacebookSessionClient("app_id");
fbSessionClient.LoginWithApp("email,basic_info,user_friends", "secret_string");
});
}
}
我的UriMapperBase处理程序
class FacebookAppAuthenticationHelper : UriMapperBase
{
public override Uri MapUri(Uri uri)
{
return new LoginViewModel().MapUri(uri);
}
}
我的Facebook URI回调处理程序
public Uri MapUri(Uri uri)
{
// if URI is a facebook login response, handle the deep link (once per invocation)
if (AppAuthenticationHelper.IsFacebookLoginResponse(uri))
{
FacebookSession session = new FacebookSession();
try
{
session.ParseQueryString(HttpUtility.UrlDecode(uri.ToString()));
// Handle success case
FacebookAuthorized = true;
// do something with the custom state parameter
if (session.State != "secret_string")
{
//nop
}
else
{
// save the token and continue (token is retrieved and used when the app is lauched)
FacebookSettings.AccessToken = session.AccessToken;
FacebookSettings.FacebookId = session.FacebookId;
FacebookSettings.TokenExpires = session.Expires;
}
}
catch (Facebook.FacebookOAuthException)
{
if (!this.facebookLoginHandled)
{
// Handle error case
this.facebookLoginHandled = true;
// return to a different uri
FacebookSettings.FacebookId = null;
FacebookSettings.AccessToken = null;
FacebookSettings.TokenExpires = DateTime.MinValue;
}
}
FacebookSettings.Save();
return new Uri("/View/MainPage.xaml", UriKind.Relative);
}
// by default, navigate to the requested uri
return uri;
}
这个问题似乎是Facebook的问题,今天的更新已经解决了。