Ошибка: CanvasAuthorizer.Authorize () всегда возвращает false - PullRequest
0 голосов
/ 20 ноября 2011

Я использую образец из Facebook C # SDK.Каждый раз, когда я запускаю код CanvasAuthorizer.Authorize(), он всегда возвращает мне false.Я указал app_id и секретный ключ в моем web.config файле.И расширенное разрешение тоже есть.

<add key="extendedPermissions" value="user_about_me,publish_stream"/>

Это мой код:

public partial class MForm : System.Web.UI.Page
{
    private CanvasAuthorizer _canvasAuthorizer;
    protected CanvasAuthorizer CanvasAuthorizer
    {
        get
        {
            if (_canvasAuthorizer == null)
            {
                var extendedPermissions = ConfigurationManager.AppSettings["extendedPermissions"].Split(',');
                _canvasAuthorizer = new CanvasAuthorizer();
            }
            return _canvasAuthorizer;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (CanvasAuthorizer.Authorize())
        {
            var fb = new FacebookWebClient();
            dynamic me = fb.Get("me");

            imgProfilePic.ImageUrl = string.Format("https://graph.facebook.com/{0}/picture", me.id);

            lblName.Text = me.name;
            lblFirstName.Text = me.first_name;
            lblLastName.Text = me.last_name;
        }
        else
        {

        }
    }

    protected void btnPostToWall_Click(object sender, EventArgs e)
    {
        if (CanvasAuthorizer.Authorize())
        {
            var fb = new FacebookWebClient();

            dynamic parameters = new ExpandoObject();
            parameters.message = txtMessage.Text;

            try
            {
                dynamic id = fb.Post("me/feed", parameters);
                lblPostMessageResult.Text = "Message posted successfully";
                txtMessage.Text = string.Empty;
            }
            catch (FacebookApiException ex)
            {
                lblPostMessageResult.Text = ex.Message;
            }
        }
    }
}
...