繁体   English   中英

如何在Facebook C#SDK 6.0.10中使用FacebookOAuthResult()方法

[英]How to use FacebookOAuthResult() method in Facebook C# SDK 6.0.10

朋友,我遇到了一些问题。 我是第一次使用Facebook C#SDK 6.0.10.0,并且这样做是为了将我的桌面应用程序与facebook连接起来。 我使用了以下代码...

public partial class FacebookLogin : Form
{
    Uri login_url;
    String redirect_url;
    private FacebookOAuthResult fbAOuthResult;

    public FacebookLogin()
    {
        InitializeComponent();
        fbAOuthResult = new FacebookOAuthResult();
        login_url = new Uri("https://www.facebook.com/dialog/oauth?client_id=" + ConfigurationManager.AppSettings["AppID"] + "&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=user_photos,friends_photos,publish_stream&display=popup&response_type=token");
        webBrowserFB.Navigate(login_url);
    }        

    void webBrowserFB_Navigated(object sender, System.Windows.Forms.WebBrowserNavigatedEventArgs e)
    {
        if(fbAOuthResult.IsSuccess)
        {
            this.DialogResult = DialogResult.OK;
            redirect_url = webBrowserFB.Url.OriginalString;
            MessageBox.Show(redirect_url);
            this.Close();
        }
    }
}

正如我从Facebook文档中读取的有关如何连接桌面应用程序的信息一样。 但是我收到以下错误...

由于其保护级别,无法访问“ Facebook.FacebookOAuthResult.FacebookOAuthResult()”

请帮我解决这个问题,如果我在任何地方都错过了任何东西,或者我的方法不好,那么您可以纠正我,因为我还是大学生,所以请以正确的方式指导我,请提供更好的代码,如果可能的话..:-)

Ramhound先生和所有朋友,我没有FacebookOAuthResult()方法就做到了。 这很简单,它也可以正常工作。 我不明白为什么你们在线的人们不提供一种简单的方法来完成任务……这是我使用的代码。

    public FacebookLogin()
    {
        try
        {
            InitializeComponent();
            login_url = new Uri("https://www.facebook.com/dialog/oauth?client_id=" +
            ConfigurationManager.AppSettings["AppID"] +
            "&redirect_uri=https://www.facebook.com/connect/login_success.html" +
            "&scope=user_photos,friends_photos,user_groups,friends_groups,read_friendlists,publish_stream" +
            "&display=popup" +
            "&response_type=token");
            webBrowserFB.Navigate(login_url);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

在这里,请记住将显示样式保留在参数中,以“弹出”形式显示,并在您通过Web浏览器控件进行导航时为您提供提示样式登录显示。您可以根据需要和每个细节添加更多权限甚至更多参数。你会从这里得到的。 只需彻底检查一下...现在,如果登录成功,如何捕获响应...? 参见下面的代码...

    void webBrowserFB_Navigated(object sender, System.Windows.Forms.WebBrowserNavigatedEventArgs e)
    {
        try
        {
            if (webBrowserFB.Url.OriginalString.StartsWith("https://www.facebook.com/connect/login_success.html"))
            {
                redirect_url = webBrowserFB.Url.OriginalString;                    
                this.DialogResult = System.Windows.Forms.DialogResult.Yes;
                this.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

现在您可以在代码中操纵上面的redirect_url变量来操纵它并获取访问令牌,并开始使用Facebook C#SDK更好地完成工作...

我将很快以免费软件的形式在线上载我的应用程序,并将为您提供与该代码的工作示例相同的链接。

如果您还有与此代码相关的查询,可以在这里或我定期访问的Facebook页面上问我。

并且,我会提出很好的建议以及比这更好的代码或改进的代码...

注意:这里的webBrowserFB是我给Web浏览器控件赋予的名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM