2012-02-20 36 views
0

我正在使用c#facebook sdk。我試圖從我的應用程序中刪除一個Facebook文章(文章是從我的應用程序創建的)。我得到一個「(453)會話密鑰是需要調用此方法」錯誤消息。「(453)會話密鑰是必需的調用此方法」在facebook刪除後

我已將offline_access,publish_stream職責授予我的應用程序。

string url = string.Concat("https://graph.facebook.com/", postId);   
Facebook.FacebookClient queryClient = new FacebookClient(AppID, AppSecret); 
url += "?method=delete&access_token=" + AppAccessToken; 
IDictionary<string, object> parameters = new Dictionary<string, object>(); 
parameters[ "access_token" ] = AppAccessToken; 
object result = queryClient.Post(url, parameters); 

我也試過queryClient.Delete但一直得到一個(400)無效的WebRequest錯誤消息。

回答

2

對於5.x版本的用戶的用戶訪問令牌,刪除的有效語法是(你不需要查詢字符串參數)

刪除評論,帖子,或者是使用API​​創建的照片:

object result = queryClient.Delete('ObjectId');

刪除像

object result = queryClient.Delete('ObjectId/likes');

參見:http://docs.csharpsdk.org/docs/making-synchronous-requests.html

編輯 - 400錯誤的請求

試運行獲得(帖子ID)首先然後運行.Delete()。

+0

已嘗試使用queryClient.Delete(postid)。我得到一個「遠程服務器返回錯誤:(400)錯誤的請求。」錯誤消息。 – 2012-02-22 06:28:29

+1

嘗試先運行.Get(postid)然後運行.Delete()。 – DMCS 2012-02-22 15:51:34

+0

這工作,任何解釋,它呢? – 2012-02-23 09:35:39

0

你需要打這通電話與當前登錄到您的應用程序(因此錯誤消息「會話」)

+0

但是我已經爲我的應用程序授予了offline_access權限。此外,圖形api文檔僅要求publish_stream權限 – 2012-02-20 12:34:39

+0

您正在使用應用程序訪問令牌,您應該爲該呼叫使用用戶訪問令牌 – Igy 2012-02-20 13:17:21