首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用纯C#发布Facebook Feed项目的权威指南

使用纯C#发布Facebook Feed项目的权威指南
EN

Stack Overflow用户
提问于 2012-05-09 00:35:26
回答 2查看 282关注 0票数 0

有没有人有一个明确的方法来发布帖子到用户的墙上,只使用.NET框架或Silverlight?

人们的尝试产生的问题在这里被问到了,但我找不到一个完整的、清晰的Graph API规范的解释,也找不到一个使用WebClient或来自System.Net的类似类的简单示例。

我是否必须将所有提要项属性作为查询字符串中的参数发送?我是否可以构造一个JSON对象来表示提要项并发送它(将访问令牌作为唯一的参数)?

我希望它不会超过5行代码片段,否则,请在FB文档中给我指出规范。

谢谢你的帮忙,

卢克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-09 01:51:32

这是从我们如何张贴到用户的墙上。我们将post的数据放在请求体中(我认为我们发现这比在请求的查询部分包含所有参数更可靠),它具有与URL编码的查询字符串相同的格式。

我同意,文档在解释如何与大量资源交互方面相当糟糕。通常,我会查看文档中有关字段和连接的信息,然后使用Graph API Explorer来理解请求需要如何构造。一旦我把它写下来,它就很容易在C#或其他什么地方实现。我唯一使用的SDK是Facebook的Javascript SDK。我发现其他的(尤其是第三方)比我自己的更复杂,更有缺陷,或者更坏。

代码语言:javascript
复制
private void PostStatus (string accessToken, string userId)
{
    UriBuilder address = new UriBuilder ();
    address.Scheme = "https";
    address.Host = "graph.facebook.com";
    address.Path = userId + "/feed";
    address.Query = "access_token=" + accessToken;

    StringBuilder data = new StringBuilder ();
    data.Append ("caption=" + HttpUtility.UrlEncodeUnicode ("Set by app to describe the app."));
    data.Append ("&link=" + HttpUtility.UrlEncodeUnicode ("http://example.com/some_resource_to_go_to_when_clicked"));
    data.Append ("&description=" + HttpUtility.UrlEncodeUnicode ("Message set by user."));
    data.Append ("&name=" + HttpUtility.UrlEncodeUnicode ("App. name"));
    data.Append ("&picture=" + HttpUtility.UrlEncodeUnicode ("http://example.com/image.jpg"));

    WebClient client = new WebClient ();
    string response = client.UploadString (address.ToString (), data.ToString ());
}
票数 1
EN

Stack Overflow用户

发布于 2012-05-09 01:33:51

我对.net或silverlight了解不多,但facebook api可以处理简单的http请求。所有不同的sdks (除了javascript sdks)主要只是http请求的包装器,具有将访问令牌添加到所有请求的“功能”。

并非所有请求中的参数都以querystring的形式发送,在某些POST请求中,您需要在请求体(application/x-www-form-urlencoded)中发送它们,并且您不能将数据作为json发送。

如果C# sdk不是您喜欢的,您可以简单地为您的确切需求创建一个。正如我所写的,您只需要包装请求,您当然可以有一个方法,该方法将获得一个json作为参数,并将其分解为与请求一起发送的不同参数。

我会给你指出facebook的文档,但你没有问任何具体的东西,所以除了landing page之外没有什么可以给你指出的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10502679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档