我正在使用 Facebook C# SDK 6.0.20 并像这样发布到 facebook(服务器端流程)。
dynamic parameters = new ExpandoObject();
parameters.message = message;
parameters.description = description;
parameters.link = url;
parameters.name = url;
parameters.picture = smallImage;
parameters.caption = "www.mysite.com";
parameters.properties = new
{
text = joinPrompter,
href = url
};
parameters.actions = new
{
name = joinPrompter,
link = url
};
var api = new FacebookClient
{
AccessToken = accessToken,
AppId = ClientID,
AppSecret = ClientSecret
};
result = api.Post("me/feed", parameters);
除了我传递的属性之外,一切都很好。它在文章末尾显示为
text: Join now!
href: http://www.mysite.com
我发给我的帖子/提要可能有什么问题?
最佳答案
实际上属性应该在发布之前进行 JSON 编码。
JsonArray jsonArray = new JsonArray();
jsonArray.Add(new {
text = joinPrompter,
href = url
});
parameters.properties = jsonArray.ToString();
这是使用 SimpleJson 的示例facebook-c#-sdk 内部使用.
或者你可以简单地使用类似的东西:
parameters.properties = '[{"text":"Some text", "href":"http://example.com"}]';
更新:
看来你可以使用IList<object>
它应该由 Facebook C# SDK 自动编码:
IList<object> properties = new IList<object>();
properties.Add(new {
text = joinPrompter,
href = url
});
parameters.properties = properties;
关于asp.net - Facebook feed 参数 "properties"无法使用 C# SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505286/