2012-01-26 110 views
1

我被要求開發一個Facebook應用程序,允許他們當前系統的用戶使用這個facebook應用程序找到對方。不幸的是,它們的要求是它必須在ASP.NET 3.5中構建(爲了客戶分佈的目的而更容易)。Facebook C#SDK ASP.Net 3.5示例

我是一名經驗豐富的PHP開發人員,儘管我過去曾使用過C#for windows應用程序。我發現了一個看起來合適的facebook api - http://facebooksdk.codeplex.com/。我遇到的問題是所有可用的示例都使用.NET 4.我必須承認我正在努力掌握API,我從過去知道我通過示例學到了最好的東西。任何人都可以提供一個鏈接到示例或我嘗試的一些基本代碼?

我真的很感激任何有關情況的建議或意見。 謝謝,傑森。

更新

使用下面的答案,以下資源(http://osnapz.wordpress.com/2010/04/23/using-asp-net-with-facebooks-graph-api- and-oauth-2-0-authentication /)很容易就可以在facebook應用上啓動。

一個問題我也有是服務器(1 & 1)我需要使用代理服務器設置添加到Web.config

例子:

<system.net> 
    <defaultProxy> 
     <proxy 
      usesystemdefault = "false" 
      bypassonlocal="false" 
      proxyaddress="http://ntproxyus.lxa.perfora.net:3128" 
     /> 
    </defaultProxy> 
</system.net> 

回答

4

直到你成爲更熟悉ASP。 NET,我會建議集成FacebookClient()而不是更多的參與

你必須明白的一件事是dynamic和使用IDictionary之間的差異。對於C#4.0或更高版本,您可以使用dynamic,但對於3.5,您必須使用舊的IDictionary

這裏有一個如何從動態轉換爲IDictionary的(所以你可以使用4.0例子作爲指導)

var fb = new FacebookClient("{access_token}"); 

dynamic result = fb.Get("/me"); 
var name = result.name; 

Response.Write("Hi " + name); 

轉換爲一個很好的例子:

var fb = new FacebookClient("{access_token}"); 

var result = (IDictionary<string, object>)fb.Get("/me"); 
var name = (string)result["name"]; 

Response.Write("Hi " + name); 

我希望得到你在轉換示例的路上。

+0

感謝您的回覆,它的幫助很大。如果你有時間看看那個會是輝煌的,歡呼,我已經爲我的問題添加了一點點。 – dciso

+0

您將需要獲取用戶訪問令牌。請參閱:https://developers.facebook.com/docs/authentication/對於初學者。我所做的是使用Javascript SDK的FB.login()函數,當我得到令牌時,我將AJAX提供給我的服務器使用。如果你更喜歡使用C#SDK更精簡的方法,那麼你將需要使用非桌面的FacebookClient示例,並試圖讓它掛鉤到ASP.Net – DMCS

+0

再次感謝您的幫助,我已經得到了它現在工作。 – dciso