IsAuthorized = False, Facebook C # SDK 4.2.1 - PullRequest
       16

IsAuthorized = False, Facebook C # SDK 4.2.1

1 голос
/ 18 января 2011

У меня проблема после обновления до версии 4.2.1. когда я пытаюсь сделать сообщение AJAX, я все еще получаю ложь в Authorizer.IsAuthorized ()

Default.aspx:

    $('.WallPost').click(function(e){

        //get the form
        var f = $("#<%=Page.Form.ClientID%>");
        //get the action attribute
        var action = 'http://www.domain.com/FacebookTestZone/Call/WallPost.aspx';
        //get the serialized data
        var serializedForm = f.serialize();
        $.post(action, serializedForm, 
            function(txt) { 
                alert(txt);
            }
        );            

    });

WallPost.aspx.cs:

fbApp = new FacebookApp(); 
authorizer = new CanvasAuthorizer(fbApp);

    if (authorizer.IsAuthorized())
    {
        Response.Write("IsAuthorized = True");
    }
    else
    {
        Response.Write("IsAuthorized = False");
    }

1 Ответ

2 голосов
/ 18 января 2011

Вы должны отправить значение signature_request вместе с запросом ajax.Мы больше не поддерживаем файлы cookie в приложениях iframe, потому что они были беспорядочными и ненадежными.Сделайте что-то вроде следующего с вашей формой сообщения:

  $('.WallPost').click(function(e){

        //get the form
        var f = $("#<%=Page.Form.ClientID%>");
        //get the action attribute
        var action = 'http://www.domain.com/FacebookTestZone/Call/WallPost.aspx?signed_request=<%=Request.Params["signed_request"] %>';
        //get the serialized data
        var serializedForm = f.serialize();
        $.post(action, serializedForm, 
            function(txt) { 
                alert(txt);
            }
        );            

    });
...