2012-02-25 74 views
-1

我登录后使用以下代码,该代码在5.4.1上工作,但现在不能按预期工作。从Facebook SDK v5.4迁移到alpha v6时出现问题

FacebookOAuthResult pResult; 
if (m_pClient.TryParseOAuthCallbackUrl(e.Uri, out pResult)) 
{ 
    if (pResult.IsSuccess) 
    { 
    //handle if success 
    } 
    else 
    { 
    //handle if failed 
    } 
} 

我将FacebookOAuthClient迁移到FacebookClient,迁移后的一切都无法工作。

我的登录代码如下。我已经尝试了旧的方式和新的方式,但都不起作用。评论的部分是我的遗留代码,为5.4工作你能帮我看看我做错了什么?

//Dictionary<string, object> pParameters = new Dictionary<string, object> 
//{ 
// {"response_type", "token"}, 
// {"display", "touch"}, 
//}; 
//if ((extendedPermissions != null) && (extendedPermissions.Length > 0)) 
//{ 
// StringBuilder pScope = new StringBuilder(); 
// pScope.Append(string.Join(",", extendedPermissions)); 
// pParameters["scope"] = pScope.ToString(); 
//} 

此加入代码V6

Uri pLoginUrl = m_pClient.GetLoginUrl(new { response_type = "token", display = "touch", scope = "publish_stream, offline_access", next = "https://www.facebook.com/connect/login_success.html" }); //also tried redirect_uri="" 
m_pBrowser.Visibility = System.Windows.Visibility.Visible; 
m_pBrowser.Navigate(pLoginUrl); 

回答

2

我建议你看一下的WinForms样品在https://github.com/facebook-csharp-sdk/facebook-winforms-sample

private Uri GenerateLoginUrl(string appId, string extendedPermissions) 
    { 
     dynamic parameters = new ExpandoObject(); 
     parameters.client_id = appId; 
     parameters.redirect_uri = "https://www.facebook.com/connect/login_success.html"; 

     // The requested response: an access token (token), an authorization code (code), or both (code token). 
     parameters.response_type = "token"; 

     // list of additional display modes can be found at http://developers.facebook.com/docs/reference/dialogs/#display 
     parameters.display = "popup"; 

     // add the 'scope' parameter only if we have extendedPermissions. 
     if (!string.IsNullOrWhiteSpace(extendedPermissions)) 
      parameters.scope = extendedPermissions; 
     var fb = new FacebookClient(); 
     // when the Form is loaded navigate to the login url. 
     return fb.GetLoginUrl(parameters); 
    } 
+0

我回滚我的代码到5.4版本,一切都在该版本中正常并按预期工作。我会等到v6超出alpha。 – 2012-02-27 15:33:58