我正在尝试使用facebook c#sdk 4.0使用框架3.5作为Iframe Canvas应用程序,到目前为止我已经实现了授权具有扩展权限的应用程序,但我不确定我是否遵循正确的方式,因为我所做的就是通过这里的不同答案的混合匹配。以下是我目前的代码
父类
protected string requiredAppPermissions = "email,publish_stream";
public MyMaster()
{
fbApp = new FacebookApp();
authorizer = new CanvasAuthorizer(fbApp);
authorizer.Perms = requiredAppPermissions;
}
protected FacebookApp fbApp;
protected CanvasAuthorizer authorizer;
public void CanvasRedirect(string url)
{
Contract.Requires(url != null);
var content = CanvasUrlBuilder.GetCanvasRedirectHtml(url);
Response.ContentType = "text/html";
Response.Write(content);
}
继承页面
protected override void PageLoadEvent(object sender, EventArgs e)
{
if (!authorizer.IsAuthorized())
{
var authurl = authorizer.GetLoginUrl(new HttpRequestWrapper(Request));
CanvasRedirect(authurl.ToString());
}
}
预备对话框不会将我重定向回我的Canvas页面,即apps.facebook.com/myapp,而是将其重定向到Canvas URL,即mydomain.com/myapp。任何猜测???
TIA
瑙曼
答案 0 :(得分:0)
在Facebook应用编辑页面中验证以下设置:
http://apps.facebook.com/<something>
http://apps.facebook.com/<something>
<your_domain>
顺便说一句,我不确定设置的名称是否正确,因为我看到我的西班牙语用户界面
答案 1 :(得分:0)
好吧,最后我得到了答案,需要将以下处理程序添加到web.config
<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd"
type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />