不允许使用WebAuthenticationBroker Facebook Given URL
本文关键字:Given URL Facebook WebAuthenticationBroker 不允许 | 更新日期: 2023-09-27 17:59:07
我正在为我现有的Windows 8.1应用程序开发一个新的更新(用C#编写)。在这次更新中,我希望用户能够连接到Facebook。我找到了很多教程来实现这一点,但我仍然没有解决方案。
当WebAuthenticationBroken被调用时,我有Facebook登录页面(带有Facebook徽标、电子邮件和密码字段),但在顶部我有这个:
应用程序配置不允许给定的URL。:应用程序的设置不允许使用一个或多个给定的URL。必须与网站URL或Canvas URL匹配,或者域必须是应用程序的某个域。
当我填写信息并点击登录时,我从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登录"answers"本机或桌面应用程序?"。我正在使用最新的Windows应用商店Facebook SDK。
我希望有人能帮我纠正这个错误。
PS:很抱歉我英语不好。。。
谢谢,Rafael Pedro da Silva
好的,我明白了:)现在可以工作了。
我只需要将重新提取的url("FacebookClient().GetLoginUrl()"和WebAuthenticationBroker的callbackUri)以及Facebook设置设置为"https://www.facebook.com/connect/login_success.html".