facebook C#SDK iframe画布应用3.5

时间:2010-12-07 13:35:52

标签: c# facebook sdk facebook-c#-sdk

我正在尝试使用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

瑙曼

2 个答案:

答案 0 :(得分:0)

在Facebook应用编辑页面中验证以下设置:

网站标签:

  • 网站网址:http://apps.facebook.com/<something>

Facebook集成标签:

帆布

  • Canvas Page Url:http://apps.facebook.com/<something>
  • Canvas Callback Url:<your_domain>

顺便说一句,我不确定设置的名称是否正确,因为我看到我的西班牙语用户界面

答案 1 :(得分:0)

好吧,最后我得到了答案,需要将以下处理程序添加到web.config

<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd"
       type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />