【问题标题】:WebAuthenticationBroker Facebook Given URL is not allowedWebAuthenticationBroker Facebook 给定 URL 是不允许的
【发布时间】:2015-06-22 22:08:52
【问题描述】:

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

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

应用程序配置不允许给定 URL。:应用程序的设置不允许一个或多个给定 URL。必须与网站 URL 或画布 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 登录”和“本机或桌面应用程序?”在。 我正在使用最新的 Facebook SDK for Windows Store。

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

PS:对不起我的英语不好......

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

【问题讨论】:

    标签: c# facebook windows-store-apps


    【解决方案1】:

    好的,我知道了 :) 现在可以使用了。

    我只需将重定向网址(“FacebookClient().GetLoginUrl()”和 WebAuthenticationBroker 的 callbackUri )和 Facebook 设置设置为“https://www.facebook.com/connect/login_success.html”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多