2011-07-05 96 views
0

我已經看過,並尋找該問題的答案,我發現在彌敦道託滕博客的答案,你可以在這裏找到答案:設置多個Facebook應用程序

https://gist.github.com/820881

的問題是我想根據使用者所使用的應用程序,它通過看你的應用程序名稱或ID,如果你在粉絲專頁來自URL,以獲取應用程序設置。

它通過使用可與我的用戶配置文件範圍內:

var CurrentUrl = HttpContext.Current.Request.UrlReferrer; 

,並用它給了我一個奇怪的網址以同樣的方式時,我可以獲取應用程序的名稱,但Facebook粉絲頁面內:

http://static.ak.facebook.com/platform/page_proxy.php?v=4 

但是,它應該給我:

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

任何幫助將是巨大的和任何獲得用戶點擊的應用程序ID或點擊URL的新方法都會更好。

回答

0

此問題之前存在於用戶配置文件中,我認爲您使用的ifatestapplication當前方法不會讓您有機會得到有關上下文的任何事情,它只會將您帶入無限循環,我認爲你必須發送到彌敦道託滕他自己可能是他有一個答案,因爲在文章中他提到:

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; 
     } 

可能是他有辦法讓我確信它的粉絲專頁內的網址或其他方式至少在我腦海中是不存在的。

+3

是,如果我使用「HttpContext.Current.Request.Url」作爲文章它給我的本地主機地址,但我需要的是,在顯示的URL該用戶發送到我的應用程序 –

+3

這裏瀏覽器或水龍頭url是一段代碼我使用: 'VAR CURRENTURL = HttpContext.Current.Request.UrlReferrer; // Get Page Url FaceBookSettings tempfbSettings = new FaceBookSettings();字符串currentAppId =「」;如果(CurrentUrl.ToString()包含( 「頁」)){//獲取網頁應用程序ID}否則{字符串[] = UserUrl CurrentUrl.ToString()斯普利特( '/')。 tempfbSettings = FaceBookSettingsManager.GetFaceBookSettingsbyApp(UserUrl [3]); currentAppId = tempfbSettings.AppId; }' –

0

謝謝,我找到了答案,以我的情況:)現在我可以讓我的應用程序ID的方式是我要申請我嘗試解碼與每一個應用程序祕密標誌要求,如果解碼結果是明確的,然後這是我的目標應用程序如果沒有的話,我會嘗試另一個

相關問題