Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在一个解决方案中设置多个Facebook应用程序和风扇页面点击url问题_Asp.net Mvc_Facebook_Facebook C# Sdk - Fatal编程技术网

Asp.net mvc 在一个解决方案中设置多个Facebook应用程序和风扇页面点击url问题

Asp.net mvc 在一个解决方案中设置多个Facebook应用程序和风扇页面点击url问题,asp.net-mvc,facebook,facebook-c#-sdk,Asp.net Mvc,Facebook,Facebook C# Sdk,我在Nathan Totten的博客中找到了这个问题的答案,你可以在这里找到答案: 问题是,我试图根据用户使用的应用程序来获取应用程序设置,如果你在粉丝页面中,可以通过查看你的应用程序名称或id从url获取应用程序设置 它在用户配置文件上下文中与我一起使用: var CurrentUrl = HttpContext.Current.Request.UrlReferrer; 我可以得到应用程序名,但在facebook粉丝页面中,使用相同的方式,它会给我一个奇怪的url: http://sta

我在Nathan Totten的博客中找到了这个问题的答案,你可以在这里找到答案:

问题是,我试图根据用户使用的应用程序来获取应用程序设置,如果你在粉丝页面中,可以通过查看你的应用程序名称或id从url获取应用程序设置

它在用户配置文件上下文中与我一起使用:

 var CurrentUrl = HttpContext.Current.Request.UrlReferrer;
我可以得到应用程序名,但在facebook粉丝页面中,使用相同的方式,它会给我一个奇怪的url:

http://static.ak.facebook.com/platform/page_proxy.php?v=4
然而,它应该给我:

http://www.facebook.com/pages/Mypagename/130736200342432?sk=app_myappId

任何帮助都会很好,任何获取用户单击的应用程序id或点击url的新方法都会更好。

这个问题以前存在于用户配置文件中,我认为您使用的是ifacebookapplication当前方法,它不会给您机会获取有关上下文的任何信息,它只会让您进入无限循环,我认为你必须亲自给Nathan Totten发送邮件,他可能有答案,因为他在文章中提到:

private IFacebookApplication GetCurrent()
        {
            var url = HttpContext.Current.Request.Url;

            // Get the settings based on the url or whatever

            var simpleApp = new DefaultFacebookApplication();

            // Set the settings

            return simpleApp;
        }

可能是他有办法在粉丝页面中找到url,或者是另一种方法,但我确信至少在我现在的脑海中是不存在的

谢谢,我找到了我的案例的答案:)现在我可以获得我的应用程序id,方法是我必须使用应用程序我尝试用每一个应用程序的应用程序机密解码签名请求如果解码结果是清楚的,那么它就是我的目标应用程序如果不是,那么我将尝试另一个

是,如果我在文章中使用“HttpContext.Current.request.Url”,它将为我提供本地主机url但我需要浏览器中显示的url或将用户发送到我的应用程序的点击url以下是我正在使用的代码:
var CurrentUrl=HttpContext.Current.Request.urlReferer;//获取页面Url FaceBookSettings tempfbSettings=新建FaceBookSettings();字符串currentAppId=“”;if(CurrentUrl.ToString().Contains(“page”){//获取页面应用程序Id}else{string[]UserUrl=CurrentUrl.ToString().Split('/');tempfbSettings=facebooksettingmanager.GetFaceBookSettingsbyApp(UserUrl[3]);currentAppId=tempfbSettings.AppId;}