我正在爲現有的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:對不起,我的英語不好......
感謝, 拉斐爾佩德羅·達席爾瓦