WebAuthenticationBroker Facebook不允许使用URL

时间:2015-06-22 22:08:53

标签: c# facebook windows-store-apps

我正在为我现有的Windows 8.1应用程序开发一个新的更新(用C#编写)。在此更新中,我希望用户连接到Facebook。我找到了很多教程来完成这项工作,但我仍然没有解决方案。

当调用WebAuthenticationBroken时,我有Facebook登录页面(带有Facebook徽标,电子邮件和密码字段),但在顶部我有这个:

  

应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。必须与网站URL或Canvas URL匹配,或者域必须是App的域之一。

当我填写我的信息并点击登录时,我从WebAuthenticatonBroken用户界面中收到了这样的错误:(我没有使用英文版的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 SDK for Windows Store。

我希望有人可以帮我解决这个错误。

PS:抱歉我的英语不好......

谢谢, 拉斐尔·佩德罗·达席尔瓦

1 个答案:

答案 0 :(得分:0)

好的,我明白了:)它现在正在工作。

我只需要设置redrect url(" FacebookClient()。GetLoginUrl()"并在WebAuthenticationBroker的callbackUri上)和Facebook设置为" https://www.facebook.com/connect/login_success.html& #34;