2013-05-08 30 views
1

我正在使用Facebook C#API,我想創建一個自定義「喜歡」的動作,允許用戶喜歡Facebook以外的對象。自定義使用Facebook C#API

用戶將被允許「喜歡」自定義對象,如Apple或Book,並且該應用必須在用戶時間軸中發佈此信息。

我已經試過

dynamic res = fb.Post("me/og.likes", new 
        { 
         message = "My first like post using Facebook SDK for .NET" 
        }); 

但是這給了我下面的FacebookApiException例外

(Exception - #1611072) The action you're trying to publish is invalid because it does not specify any reference objects. At least one of the following properties must be specified: object. 

但如果我嘗試

dynamic res = fb.Post("me/og.likes", new 
        { 
         object="http://samples.ogp.me/226075010839791" 
        }); 

,它甚至不編譯,因爲對象是C#上的保留字。

我該怎麼辦? 這可能嗎?

回答

3

嘗試使用逃生@:

dynamic res = fb.Post("me/og.likes", new 
        { 
         @object="http://samples.ogp.me/226075010839791" 
        }); 

編輯:對於其他的特殊字符,你應該能夠使用字典而不是匿名類型對象的:

var postInfo = new Dictionary<string, object>(); 
postInfo.Add("fb:explicitly_shared", "your data"); 

dynamic res = fb.Post("me/og.likes", postInfo); 
+0

謝謝!這適用於對象,但不適用於fb:explicit_shared。有沒有辦法逃避這個變量? – tkcast 2013-05-08 16:54:54

+0

使用'new {...}'時,您將創建一個具有指定屬性的匿名類型。 ':'在屬性名稱中是不允許的,所以不可能給屬性賦予名字「fb:explicit_shared」。 – Fabske 2013-05-08 17:13:20

+0

我編輯了我的帖子以添加更多信息,請檢查它是否解決了您的問題。 – Fabske 2013-05-08 17:15:26

相關問題