Я использую образец из 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;
}
}
}
}