Facebook C# SDK-user bekommen accessToken

Ich Probleme mit immer den accessToken von den Ergebnissen meiner login zu facebook.
In der Page_load, meine url nicht korrekt analysiert.

GenerateLoginUrl Methode arbeitet ohne Fehler und ich kann sehen, das accessToken in den QueryString.
Ich habe versucht, es zu bekommen aus der aber, dass es nicht funktioniert entweder.

    protected void Page_Load(object sender, EventArgs e)
{
    var fb = new FacebookClient();

    FacebookOAuthResult result;
    if (fb.TryParseOAuthCallbackUrl(Request.Url, out result))
    {
        if (result.IsSuccess)
        {
            //result clicked authorized
            var accessToken = result.AccessToken;
            Label1.Text = accessToken.ToString();
        }
        else
        {
            //user clicked cancelled and didn't authorize the app
            var error = result.ErrorDescription;
            Label1.Text = error;
        }
    }
    else
    {
        //This is were it always goes
        Label1.Text = "not valid facebook url";
    }


}


private Uri GenerateLoginUrl(string appId, string extendedPermissions)
{

    try
    {
        dynamic parameters = new ExpandoObject();
        parameters.client_id = appId;
        parameters.redirect_uri = "local iis ip";

        //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;

        //generate the login url
        var fb = new FacebookClient();

       var url = fb.GetLoginUrl(parameters);

       return url;
    }

    catch (FacebookOAuthException fbex)
    {
        Label1.Text = fbex.Message;
        return null;

    }

    catch (Exception ex)
    {
        Label1.Text = ex.Message;
        return null;
    }


}


protected void Button1_Click(object sender, EventArgs e)
{
    string AppId = ConfigurationManager.AppSettings["apiKey"];
    string ExtendedPermissions = ConfigurationManager.AppSettings["ExtendedPermissions"];

    var url = GenerateLoginUrl(AppId, ExtendedPermissions);

    Response.Redirect(url.AbsoluteUri, false);
}

Vielen Dank für Ihre Hilfe.

Update:

In der Anfrage.Url-die url ist immer:

http://localhost:23560/Appname/default.aspx

aber ich kann se die tatsächliche url in der browser und es steht:

http://localhost:23560/Appname/#access_token=0000000000&expires_in=3821

Also Weise können nicht asp.net Lesen Sie die url korrekt?

Mögliche Duplikate von Wie man ein access token mit C# SDK

InformationsquelleAutor Madde Persson | 2013-02-07

Schreibe einen Kommentar