原來我使用Facebook上的.NET SDK在這裏找到:從舊的(V3.0)Facebook的淨SDK遷移到最新版本(V5.0)
http://facebooktoolkit.codeplex.com/
,但現在,我試圖遷移到其下面主辦,最新版本實現了許多與最近的新的Facebook功能:
http://facebooksdk.codeplex.com/
即使我已經建立了幾個Facebook的帆布應用程序,甚至集成了我們公司網站使用fa cebook連接,我仍然對關於Facebook認證/授權更改的細節和細節感到困惑。例如,我將如何將我從舊的(v3.0)與Facebook的.NET SDK集成中使用的以下.NET服務器代碼移植到新的v5.0 .NET SDK中?
string perm = "publish_stream"; //or any permission you want to check
FBConnectAuthentication auth = new FBConnectAuthentication(Settings.FBConnectAPIKey, Settings.FBConnectAPISecret);
FBConnectSession fbSession = auth.GetSession();
string userId = fbSession.UserID;
var session = new Facebook.Session.ConnectSession(Settings.FBConnectAPIKey, Settings.FBConnectAPISecret);
var api = new Facebook.Rest.Api(session);
var usr = SessionInfo.CurrentUserOrUserAccountWithLastEmailAddressEntered;
Facebook.Schema.Enums.ExtendedPermissions perm
= (Facebook.Schema.Enums.ExtendedPermissions)Enum.Parse(typeof(Facebook.Schema.Enums.ExtendedPermissions), permission);
hasPermission = api.Users.HasAppPermission(perm);
,因爲上面的代碼正在從使用的REST API我們的服務器執行,移植到新的SDK時,我應該不用擔心的使用Oauth的access_token?
在客戶端,當最終用戶查看我的網站一樣,頁面看起來做工精細當我做下面的JavaScript調用:
FB.Connect.showPermissionDialog('publish_stream, email, user_checkins', publishToWallPermissionGranted);
function publishToWallPermissionGranted() {
FB.Connect.streamPublish('some share message', null, null, null, false, null);
}
使用上面的客戶端代碼,我不是存儲一個access_token或做類似的事情,但我怎麼能夠成功驗證,授權和發佈到用戶的流?
我真的很感激任何人也可以給我一個更詳細的解釋,當我應該使用Oauth來獲取訪問令牌(即,如果用戶正在使用我的畫布應用程序),或者當我應該簡單地使用我的appId來初始化javascript FB對象(即FB.init())在進行客戶端API調用時或者我應該獲取應用程序訪問令牌時。
謝謝!
大多數情況下,我可以使用我們網站上的Javascript SDK(調用FB.ui()來顯示權限對話框等),但是我們網站上有一些功能依賴於使REST API調用Facebook以檢索信息。現在,我的任務是集成新的.net Facebook SDK,我很困惑如何使用.net sdk獲得有效的會話並獲取有關用戶的信息(即,用戶授權我的Facebook啓用了哪些權限網站)。 – Deven