这取自我们如何发布到用户的墙上。我们将帖子的数据放在请求正文中(我认为我们发现这比在请求的查询部分中包含所有参数更可靠),它与 URL 编码的查询字符串具有相同的格式。
我同意该文档在解释如何与大量资源交互方面相当贫乏。通常我会查看文档以获取有关字段和连接的信息,然后使用Graph API Explorer来了解如何构建请求。一旦我把它弄下来,就很容易用 C# 或其他方式实现。我使用的唯一 SDK 是 Facebook 的 Javascript SDK。我发现其他人(尤其是第 3 方)比滚动我自己的更复杂、错误或损坏。
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 ());
}