我已经阅读了很多有关此问题的帖子,但我找不到有效的解决方案。
我对Facebook C#SDK有疑问。 我无法将用户重定向到首页。我认为facebookredirect.axd存在问题。那是什么?我不能将用户发送到我的应用程序的起始页吗? 当我进入我的Facebook应用程序的起始页面时,我将被重定向到权限页面,当我接受许可时,我将被重定向到facebook的起始页面(www.facebook.com)。为什么?为什么不到我的应用程序?
这是权限页面上的网址: http://www.facebook.com/connect/uiserver.php?app_id=&安培;方法= permissions.request&安培;显示=页面&安培;下一= HTTP%3A%2F%2Flocalhost%3A2143%2Ffacebookredirect.axd&安培; RESPONSE_TYPE =代码&安培;状态= eyJyIjoiaHR0cDovL2FwcHMuZmFjZWJvb2suY29tL2Jhcm5kYWdib2tlbi9EZWZhdWx0LmFzcHgifQ&安培; fbconnect = 1&安培;烫发=电子邮件
如果我手动将facebookredirect.axd更改为facebookredirect.axd / Default.aspx(在网址中),则可以使用,但访问者必须这样做吗?
这是我的web.config:
<configSections>
<section type="Facebook.FacebookConfigurationSection, Facebook" name="facebookSettings" allowLocation="true" allowDefinition="Everywhere" />
<section name="canvasSettings" type="Facebook.Web.CanvasConfigurationSettings, Facebook.Web" />
</configSections>
<facebookSettings canvasPage = "http://apps.facebook.com/<APPNAME>/" secureCanvasUrl="http://localhost:2143/" canvasUrl="http://localhost:2143/" appSecret="" appId="" cancelUrlPath = "" />
<canvasSettings canvasUrl="http://localhost:2143/" canvasPageUrl="http://apps.facebook.com/<APPNAME>/" authorizeCancelUrl="http://facebook.com"/>
<httpHandlers>
<add verb="*" path="/" type="System.Web.UI.Page"/>
<add verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</httpHandlers>
<handlers>
<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</handlers>
我创建了一个名为facebookredirect.axd的地图,并在其中添加了一个web.config文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<clear/>
<add path="*" verb="*" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<clear/>
<add name="facebookredirect" path="*" verb="*" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</handlers>
</system.webServer>
</configuration>
在首页上(Default.aspx)我有这个:
CanvasAuthorizer auth = new CanvasAuthorizer { Permissions = new[] { "email" } };
if (auth.Authorize())
{
FacebookWebClient client = new FacebookWebClient();
dynamic parameters = new ExpandoObject();
parameters.fields = "id, name, third_party_id, username";
dynamic result = client.Get("me", parameters);
}
当我用Facebook javascript sdk建立这个网站时,它的工作非常完美,现在当我尝试使用Facebook C#SDK时,该页面已“破碎”....
我做错了什么?
感谢任何帮助!