2010-03-10 81 views
3

做與Facebook的一些工作連接/ REST風格的API,並由於某種原因,我一直至於我可以告訴即時驗證收到此錯誤與「會話密鑰無效或不再有效的」 Facebook的API錯誤

Session key invalid or no longer valid 

正確。在facebook連接對話框彈出並且用戶登錄後,從cookie獲取會話密鑰。 然後,我打開擴展權限對話框以允許發佈事件和離線訪問。

但是,如果用戶要註銷Facebook,會話密鑰將變得不可用。我在這裏做錯了什麼?有沒有用ASP.NET/C#做這個很好的例子?

+0

會話密鑰僅對該用戶的會話有效。所以,當他們註銷時,會話關閉。 正確的方法如下所示,爲您的應用程序獲取API密鑰。 – codemonkeh 2010-03-28 23:19:10

+0

我的應用程序有一個API密鑰,併爲每個用戶會話授予我的應用程序脫機訪問權限,所以即使在他們註銷後,我也應該可以發佈信息。它似乎現在工作壽...所以不知道... – dkarzon 2010-03-30 03:08:49

回答

1

我使用Facebook Dev Toolkit v3.0並且已經着手讓它工作。試試看。我的代碼對客戶端執行此操作。

重定向瀏覽器:

url = @"http://www.facebook.com/login.php?api_key=" + _fbService.Session.ApplicationKey + @"&v=1.0" + @"&next=" + fullReturnUrl + "?"; 

然後延長權限

url = @"http://www.facebook.com/connect/prompt_permissions.php?api_key=" + _fbService.Session.ApplicationKey + @"&v=1.0&next=" + fullReturnUrl + "?xxRESULTTOKENxx" + @"&display=popup&" + @"&ext_perm=offline_access,publish_stream,read_stream" + @"&enable_profile_selector=1"; 

一旦回來成功,它只是存儲的auth_token

string authToken = webContext.Request["auth_token"]; 

隨着的問題擴展的權限,即使該用戶已經登錄,我也能夠訪問f Facebook。

+0

嗨Jason你用什麼代碼重定向? – Tom 2010-06-22 06:54:35

+0

@Tom,你在說什麼代碼?從Facebook或從Web應用程序? – 2010-06-23 05:26:56

相關問題