2011-08-31 85 views
2

我開發一個asp.net MVC 3 Facebook應用程序,我試圖來發布消息,我的牆。這裏是我的代碼:的Facebook C#SDK - 塗鴉牆

FacebookWebClient client = new FacebookWebClient(); 

// Post to user's wall 
var postparameters = new Dictionary<string, object>(); 
postparameters["message"] = "Hello world!"; 
postparameters["name"] = "This is a name"; 
postparameters["link"] = "http://thisisalink.com; 
postparameters["description"] = "This is a description"; 

var result = client.Post("/me/feed", postparameters); 

我可以使用client.AccessToken訪問令牌,所以我假設我沒有在任何地方設置。這段代碼不會產生任何錯誤,並且結果會得到一個ID。但是,當我提出我的Facebook時,我看不到任何東西在我的牆上或新聞中。我不確定我錯過了什麼。我在StackOverflow看過相關的問題,但我沒有看到類似於我的報告/問題。我也嘗試根據我在其他帖子中看到的代碼更改代碼,但無濟於事。我還檢查了我的Facebook帳戶設置,並且我看到我的應用程序被列出並許可發佈到我的牆上。我也嘗試通過圖形API瀏覽器發佈消息到我的牆上,我得到了同樣的結果。我得到了一個ID,但是當我檢查我的Facebook帳戶時,我什麼都看不到。在這裏待了幾天。任何幫助將不勝感激。

在此先感謝。

[編輯] 我不知道是否有產生的access_token我的應用程序什麼是錯的。使用這個access_token,正如我在文章中提到的那樣,我使用Graph API瀏覽器獲得了相同的結果。一個ID被返回,但我的牆上沒有消息。但是,如果我將Graph API Explorer許可權發佈到我的牆上並使用其自己生成的access_token,則可以使用資源管理器成功發佈消息。這裏的FB登錄按鈕代碼:

<div> 
    <h1>Login using Facebook</h1> 
    <p><fb:login-button perms="user_location, publish_stream, email"></fb:login-button></p> 
</div> 
+1

你試過這個鏈接底部提到什麼? http://facebooksdk.codeplex.com/discussions/250353 –

+0

嗨主要字節。感謝您的迴應。我嘗試過,但不幸的是它沒有工作。 –

+0

你曾經解決過這個問題嗎?我遇到了同樣的問題。 –

回答

0

你追加access_token的網址是什麼?見示例here。它也記錄here(見使用訪問令牌)。

/me/feed?access_token=<access_token> 
+0

嗨TheCodeKing,謝謝你的迴應。不幸的是,它沒有奏效。我甚至在沒有Facebook C#SDK的情況下嘗試發帖,但我看到了相同的行爲。我得到一個身份證,但我的牆上看不到任何東西。然後,爲了讓我更加困惑,我使用Graph API Explorer使用我在我的應用程序中使用的相同訪問令牌,以及相同的行爲... ID,但牆上沒有任何內容。然後,使用Graph API Explorer生成的訪問令牌,我嘗試發佈相同的確切消息,並且出現「重複消息」錯誤。但我的牆上仍然沒有任何東西。 –

+0

該應用程序需要用戶的stream_publish權限。你檢查過了嗎?最近訪問令牌更改爲OAuth 2.0。 – TheCodeKing

1

你要求合適的應用程序權限Facebook在你的操作方法?

嘗試:[CanvasAuthorize(Permissions = "user_location, publish_stream, email")]

0

一個小的變化,你的代碼工作正常,我。您必須驗證令牌的用戶進入這樣的構造......

var client = new FacebookClient(accessToken); 

// Post to user's wall 
var postparameters = new Dictionary<string, object>(); 
postparameters["message"] = "Hello world!"; 
postparameters["name"] = "This is a name"; 
postparameters["link"] = "http://thisisalink.com; 
postparameters["description"] = "This is a description"; 

var result = client.Post("/me/feed", postparameters); 

這個方法對我的作品,雖然我不知道你正在使用的Facebook的SDK。 我使用http://facebooksdk.net/其相當不錯,所以如果你不使用它,我會推薦它