【问题标题】:Problems using captured access token to retrieve user's facebook information使用捕获的访问令牌检索用户的 Facebook 信息时出现问题
【发布时间】:2011-12-09 04:30:26
【问题描述】:

我一直在尝试编写一个与 facebook 交互的 Windows 窗体应用程序,以检索有权获取某些用户信息的访问令牌。我一直在尝试使用以下代码来获得自己的生日,但它一直给我 400 bad request 错误。基本上在运行此代码并登录身份验证后,它应该显示一个包含用户生日的消息框。在这种情况下,我在 api.GET 方法中使用我自己的用户 ID。这似乎是访问令牌问题,因为当我不传递任何令牌时,我可以使用相同的代码查看公共可用信息,例如 id,但我打印出访问令牌进行检查,似乎没问题。任何帮助将非常感激。第一次在这里发帖

public partial class AccessTokenRetrieval : Form
{
    private string accessToken=null;


    public AccessTokenRetrieval()
    {
        InitializeComponent();
    }

    private void accessTokenButton_Click(object sender, EventArgs e)
    {
        string getAccessTokenURL = @"https://graph.facebook.com/oauth/authorize?client_id=223055627757352&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent&display=popup&grant_type=client_credentials&scope=user_photos,offline_access";
        getAccessTokenWebBrowser.Navigate(getAccessTokenURL);
    }

    private void getAccessTokenWebBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {

        string successUrl = @"http://www.facebook.com/connect/login_success.html";

        string urlContainingUserAuthKey = e.Url.ToString();
        MessageBox.Show(urlContainingUserAuthKey);

        int searchInt = urlContainingUserAuthKey.IndexOf(successUrl);
        MessageBox.Show(searchInt.ToString());

        if (urlContainingUserAuthKey.IndexOf(successUrl) == -1)
        {
            string accessTokenString;
            accessTokenString = Regex.Match(urlContainingUserAuthKey, "access_token=.*&").ToString();
            this.accessToken = accessTokenString.Substring(13, accessTokenString.Length - 14);
            //100001067570373
            //MessageBox.Show(accessToken);
            accessTokenTextBox.Text = this.accessToken;
            Facebook.FacebookAPI api = new Facebook.FacebookAPI(this.accessToken);
            JSONObject me = api.Get("/100001067570373");
            MessageBox.Show(me.Dictionary["user_birthday"].String);
        }
    }
#

【问题讨论】:

    标签: c# winforms facebook facebook-graph-api access-token


    【解决方案1】:

    我会请求您尝试http://facebooksdk.codeplex.com 并查看示例文件夹。 它包括用于 WinForms 身份验证的示例以及向 Facebook 发出各种请求。

    这里有其他有用的链接,我建议您阅读。

    http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-first-Facebook-Application.aspx

    http://blog.prabir.me/post/Facebook-CSharp-SDK-Making-Requests.aspx

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2016-08-30
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多