我正在为现有的Windows 8.1应用程序(用C#编写)开发新的更新。在此更新中,我希望用户连接到Facebook。我发现了很多教程来完成这项工作,但我仍然没有解决方案。WebAuthenticationBroker Facebook给定的URL是不允许的
当WebAuthenticationBroken叫我的Facebook登录页面(与Facebook的标志和电子邮件地址和密码字段),但在上面我有这样的:
给定的URL不会被应用程序配置允许的:一个或多个给定的URL不被应用程序的设置所允许。必须与网站网址或Canvas网址相匹配,否则该网域必须是其中一个应用网域。
当我填写我的信息,然后点击登录我从WebAuthenticatonBroken UI得到了这样的错误:(我不使用我的Windows的英文,所以我不知道它是怎么写的究竟)
我们现在无法连接到服务。检查您的互联网连接或稍后再试。
我的Facebook应用程序已启用,SID在基本设置的Windows应用商店ID字段中定义。
这里我用我的C#代码来调用在我的Windows 8.1的应用程序的WebAuthenticationBroker:
public Uri _callbackUri = WebAuthenticationBroker.GetCurrentApplicationCallbackUri();
public string FacebookAppId = "15911339xxxxxxxx";
public string FacebookPermissions = "public_profile,email,user_friends";
FacebookClient _fb = new FacebookClient();
var loginUrl = _fb.GetLoginUrl(new
{
client_id = FacebookAppId,
redirect_uri = _callbackUri.AbsoluteUri,
scope = FacebookPermissions,
display = "popup",
response_type = "token"
});
WebAuthenticationResult WebAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None,
loginUrl);
if (WebAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success)
{
var callbackUri = new Uri(WebAuthenticationResult.ResponseData.ToString());
var facebookOAuthResult = _fb.ParseOAuthCallbackUrl(callbackUri);
FacebookClient fbclient = new FacebookClient(facebookOAuthResult.AccessToken);
dynamic result = await fbclient.GetTaskAsync("me");
string id = result.id;
string email = result.email;
string FBName = result.name;
ApplicationData.Current.RoamingSettings.Values["UserID"] = id;
var accessToken = facebookOAuthResult.AccessToken;
}
我已经没有有效的OAuth重定向URI并与“https://www.facebook.com”为好,但它的尝试还是行不通。 我也尝试设置“嵌入式浏览器OAuth登录”和“本机或桌面应用程序?”上。 我正在使用最新的Facebook应用商店用于Windows应用商店。
我希望有人能帮我解决这个错误。
PS:对不起,我的英语不好......
感谢, 拉斐尔佩德罗·达席尔瓦