我目前正在編寫一個在頁面選項卡中運行的Facebook應用程序。我用C#編寫了一個簡單的Web Forms應用程序,使用從NuGet提取的最新版本的C#SDK。主頁面選項卡正常工作。我從FacebookWebContext.Current.SignedRequest獲取所需的所有信息,我很好。我正在嘗試編寫一個頁面,該頁面管理員將使用該頁面來設置應用程序,因此這是在應用程序設置中的「編輯URL」下面的頁面。無法弄清楚如何使用Facebook獲取訪問令牌c#sdk
我真正想要做的就是獲取當前登錄的用戶ID,並確定他是否爲相關頁面的管理員。
我這樣做:
var client = new FacebookClient();
dynamic me = client.Get("me");
在Page_Load中
,並獲得以下異常:
(OAuthException) An active access token must be used to query information about the current user.
我已經嘗試了一堆東西來獲得訪問令牌,但我不似乎並不知道我做錯了什麼。有沒有一個簡單的方法來做到這一點?
更新: 我想出了一點,我有一個參考我的母版頁上的舊JS SDK,這是一個問題。 (請參閱here)。刪除,讓我的點,我是通常能夠看到用戶是否真的登錄到Facebook。
謝謝,我基本上做了變化。我想,我的問題是IsAuthenticated()返回false,即使我已登錄到Facebook,並且正在通過Facebook應用程序設置鏈接打開Edit URL頁面。基本上,我不確定在這種情況下,如何告訴頁面被登錄的Facebook用戶打開。我已經看到一些跡象表明,Facebook __用於將signed_request傳遞到「編輯URL」頁面,但似乎他們現在沒有。 – 2011-06-03 12:43:16
在你的Facebook的JavaScript初始化你有'cookie:true'作爲其中一個選項?從我的理解,這是什麼讓服務器訪問Facebook會話。 – Charlino 2011-09-20 17:16:23