我一直在玩开放式图形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:
我需要UserID
和Access 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": [
]
}
我不确定我做错了什么?有人有建议吗?
答案 0 :(得分:1)
您应该将HttpWebRequest实例设置为使用POST http方法,默认值为GET
所以加上这个:
post.Method = "POST";
之后:
HttpWebRequest post = (HttpWebRequest)HttpWebRequest.Create(targetUserUri);