MVC 5 Facebook Publishing Feed

时间:2016-08-30 12:56:11

标签: c# asp.net-mvc facebook facebook-graph-api

我一直在玩开放式图形api,并且正在使用这里提到的发布部分

https://developers.facebook.com/docs/graph-api/using-graph-api/#publishing

提到For example, to publish a post on behalf of someone, you would make an HTTP POST request as below:我需要UserIDAccess Token

因此,我能够获得未过期的Access Token以及已接受该应用发布内容的用户的User ID

但是,由于我的失败,我无法使用上述链接中提到的步骤发布Feed。

这是我用来测试HttpPost请求的一个小例子

[HttpPost]
public ActionResult FacebookPostResponse(string accessToken)
{

string fbPost = "Hello";

Uri targetUserUri = new Uri("https://graph.facebook.com/10153688496941651/feed?message=" + fbPost + "&access_token=" + accessToken);

HttpWebRequest post = (HttpWebRequest)HttpWebRequest.Create(targetUserUri);

HttpWebResponse res = (HttpWebResponse)post.GetResponse();
var sC = res.StatusCode;
ViewBag.Message = sC;
}

上面的ActionResult会返回状态代码OK,表示请求已成功。然而,当我去我的Facebook墙上时,我从应用程序中看不到任何东西?

当我在网络浏览器中复制URL请求时,它会返回以下内容:

{
  "data": [

  ]
}

我不确定我做错了什么?有人有建议吗?

1 个答案:

答案 0 :(得分:1)

您应该将HttpWebRequest实例设置为使用POST http方法,默认值为GET 所以加上这个:

 post.Method = "POST";

之后:

HttpWebRequest post = (HttpWebRequest)HttpWebRequest.Create(targetUserUri);