2012-03-07 70 views
0

我正在使用Facebook C#SDK爲了張貼在我的商業Facebook頁面上。對於我在網站上有的產品,我想在牆上張貼有圖片和說明的帖子。Facebook:牆貼'圖片'元素被忽略

我有下面的代碼是:

var args = new Dictionary<string, object>(); 
    args["message"] = "Product description ... "; 
    args["caption"] = "Last offer !!!"; 
    args["description"] = "Product description ... "; 
    args["name"] = "Product name ... " 
    //picture field is the link to my image on my site 
    args["picture"] = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName}); 
    args["link"] = Url.Abs(Url.Action("Details", "Product", new {id = id})); 

所有字段都ok,除了圖像。圖像完全被忽略,不會顯示在牆上。

我的目標是與我在「我的狀態」字段中手動粘貼產品詳細信息的情況具有相同的行爲,並且會生成包含第一張圖片和第一段的消息。

PS:這可以與一些Facebook應用程序安全設置相關嗎?

回答

0

經過很多小時的調試,我發現了這個問題。首先要注意的是我使用的是MVC 3.問題出在我的鏈接格式上。下一個代碼的工作原理如下:

var pictureLink = "http://mydomain.com" + Url.Action("ImageFile", "Files", new {sizes = "400x650", fileName = file.FileName}); 
pictureLink = Server.UrlDecode(pictureLink); 
args["picture"] = pictureLink; 

在我的情況下,鏈接包含一些編碼的字符。您必須將該鏈接發送至Facebook,並將其以url格式進行編碼。

+0

fb c#sdk應該自動爲您解碼。你使用的是哪個版本的sdk? – prabir 2012-03-07 17:07:51

0

若要進行故障排除,請刪除args [「link」]並查看它是否發佈圖像。如果沒有,那麼Facebook試圖訪問的圖片url的權限有問題。如果確實發佈了沒有鏈接參數的圖片,請將鏈接參數更改爲「操作」參數「名稱」和「鏈接」,以查看是否可以將發佈中的鏈接包含在內。