public static GetLoginUrl ( string appId, |
||
appId | string | /// The app id. /// |
redirectUri | /// The redirect Uri. /// | |
extendedPermissions | string | /// The extended permissions (scope). /// |
logout | bool | /// Indicates whether to logout existing logged in user or not. /// |
loginParameters | object>.IDictionary | /// The login parameters. /// |
리턴 |
public static Uri GetLoginUrl(string appId, Uri redirectUri, string[] extendedPermissions, bool logout, IDictionary<string, object> loginParameters)
{
Contract.Requires(!string.IsNullOrEmpty(appId));
Contract.Ensures(Contract.Result<Uri>() != null);
var oauth = new FacebookOAuthClient { AppId = appId, RedirectUri = redirectUri };
var defaultLoginParameters = new Dictionary<string, object>
{
{ "response_type", "code" }, // make it "code" by default for security reasons.
#if WINDOWS_PHONE
{ "display", "touch" }
#else
{ "display", "popup" }
#endif
};
if (extendedPermissions != null && extendedPermissions.Length > 0)
{
defaultLoginParameters["scope"] = string.Join(",", extendedPermissions);
}
var mergedLoginParameters = FacebookUtils.Merge(defaultLoginParameters, loginParameters);
var loginUrl = oauth.GetLoginUrl(mergedLoginParameters);
Uri navigateUrl;
if (logout)
{
var logoutParameters = new Dictionary<string, object>
{
{ "next", loginUrl }
};
navigateUrl = oauth.GetLogoutUrl(logoutParameters);
}
else
{
navigateUrl = loginUrl;
}
return navigateUrl;
}
FacebookOAuthClient::GetLoginUrl ( ) : |
|
FacebookOAuthClient::GetLoginUrl ( object>.IDictionary |
|
FacebookOAuthClient::GetLoginUrl ( string appId, |
|
FacebookOAuthClient::GetLoginUrl ( string appId, |
|
FacebookOAuthClient::GetLoginUrl ( string appId, |
/// <summary> /// Get FacebookOAuthClient. /// </summary> void MainPage_Loaded() { using (DbStorage fbdb = new DbStorage(strConnectionString)) { IQueryable<Db> fbQuery = from db in fbdb.user select db; Db ac = fbQuery.FirstOrDefault(); if(ac == null){ string appId = "YOUR FACEBOOK APP ID"; string[] extendedPermissions = new[] { "publish_stream"}; var oauth = new FacebookOAuthClient { AppId = appId }; var parameters = new Dictionary<string, object> { { "response_type", "token" }, { "display", "touch" } }; if (extendedPermissions != null && extendedPermissions.Length > 0) { var scope = new StringBuilder(); scope.Append(string.Join(",", extendedPermissions)); parameters["scope"] = scope.ToString(); } var loginUrl = oauth.GetLoginUrl(parameters); //Add webBrowser to the contentPanel _webBrowser.Navigate(loginUrl); ContentPanel.Children.Add(_webBrowser); _webBrowser.Navigated += webBrowser_Navigated; //Open the facebook login page into the browser } } }