asp.net - Facebook feed 参数 "properties"无法使用 C# SDK

标签 asp.net facebook facebook-c#-sdk

我正在使用 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/

相关文章:

javascript - Azure 上 JavaScript 文件的策略

c# - 如何将照片发布到 Facebook 页面提要 - 不是由其他人发布的

asp.net - 在 ASP.NET MVC 2 中使用名称 ="array_name[]"为表单元素发布数组

android - 为流发布设置 facebook 权限

php - Facebook Graph API PHP SDK 作为页面在页面上发布

facebook - 如何在 Facebook Graph API 中获取好友详细信息?

asp.net - Facebook API - 无效的签名请求。 (签名无效。)

c# - 如何从Facebook获取好友列表? (桌面应用程序)

javascript - 在jquery中减去值时获取null

c# - 如何验证电子邮件来自ASP.NET MVC中的特定域?