2012-02-22 35 views
-1

擁有訪問令牌後,我如何發佈到Facebook牆上。我嘗試這樣做:使用Facebook C#SDK - 如何發佈到具有訪問令牌的牆上

var postparameters = new Dictionary<string, object>(); 
postparameters["message"] = message; 
postparameters["name"] = "This is a name"; 
_fbClient = new FacebookClient(accessToken); 
var result = _fbClient.Post("/me/feed", postparameters); 

但它給了我這樣的例外:

(OAuthException)錯誤驗證訪問令牌:會話已在UNIX時間

過期爲什麼會出現這種情況?

回答

1

請閱讀博文How-To: Handle expired access tokens

應用程序處理這種情況非常重要。如果您的訪問令牌到期,您需要重新獲取有效的訪問令牌。

您的錯誤在其列表中排名第一。但由於所有四個原因,解決方案是相同的。

解決方案(所有場景)

爲確保您的用戶提供最佳體驗,你的應用程序必須 準備捕捉錯誤的上述情況。以下PHP代碼顯示如何處理這些錯誤並檢索新的訪問令牌。

當您將用戶重定向到身份驗證對話框時,如果用戶已授權您的 應用程序,則用戶不會提示輸入權限 。 Facebook將返回一個有效的訪問令牌,而不會有任何面向用戶的對話框。但是,如果用戶已取消您的 應用程序的授權,那麼用戶需要重新授權您的應用程序 ,以獲取access_token。

2

您需要捕獲此異常並更新訪問令牌。

我昨天已經回答了類似問題here。 雖然答案是在PHP我希望它會幫助你

相關問題