目前我正在使用Facebook API和ASP.Net(MVC4)。
是否可以在我的Facebook Wall上发布某条消息并在我的网络应用程序中接收该消息?
我已经尝试了下一个代码,但它不起作用:
也许有人有解决方案? (我也不想要新闻提要的帖子,而是我的个人资料墙的帖子)
JsonObject fbJsonFeedObj = (JsonObject)fbApp.Get(" https://graph.facebook.com/me/home?fields=from,message,name,picture&access_token=" + token);
string str = fbApp.Get("/me/feed").ToString();
JObject obj = JObject.Parse(str);
JToken jUser = obj["data"];
int numb = jUser.Count();
//Get latest post
int id_post = 0;
string stringMsg = obj["data"][id_post]["likes"].ToString();
更新 我只想要一个方法来获取我个人FB墙的最新帖子。如何做到这一点?
更新2: 今天我试过了:
JsonObject fbJsonFeedObj =(JsonObject)fbApp.Get(“ https://graph.facebook.com/“+ FacebookModel.TestFacebookID + “/ feed?access_token =”+ token);
使用此代码我可以获得最新帖子,但如何将其拆分为可读字符串?所以我只收到发送帖子和真实(字符串)消息的UserId?
更新3: 目前我正在使用此代码来获取墙贴:
var wall = (JsonObject)fbApp.Get("/me/feed");
但是Visual Studio显示了这个错误:
必须使用活动访问令牌来查询有关的信息 当前用户。
我正在使用下一个方法来接收accesstoken:
public static string GetAccessToken()
{
var fb = new FacebookClient();
dynamic result = fb.Get("oauth/access_token", new
{
client_id = FACEBOOK_APP_ID,
client_secret = FACEBOOK_SECRET,
grant_type = "client_credentials"
});
return result.access_token;
}
如何解决这个问题?
答案 0 :(得分:2)
最初的问题是您使用的是/home
而不是/feed
。
/home
- 用户的新闻Feed
/feed
- 用户的墙。
https://developers.facebook.com/docs/reference/api/user/
您可以像使用上一个(/home
)对象
//Get latest post
int id_post = 0;
string stringPostId = obj["data"][id_post]["id"].ToString(); //Id of the post
string stringPostSender = obj["data"][id_post]["from"]["name"].ToString(); //Name of sender
string stringPostSenderId = obj["data"][id_post]["from"]["id"].ToString(); //ID of sender
每个对象都是这样的,所以你应该能够弄清楚如何向下钻取
{
"id": "5_11111111",
"to": {
"data": [
{
"name": "User A",
"id": "4"
}
]
},
"from": {
"name": "User B",
"id": "5"
},
"message": "This is a test message",
"created_time": "2013-10-04T23:01:42+0000"
}
您的上一次更新是许多首次开发人员犯下的常见错误。
不应将应用程序访问令牌用于这些调用。您必须拥有登录流程才能通过OAuth以
开头授予用户访问令牌https://www.facebook.com/dialog/oauth?
client_id={app-id}
&redirect_uri={redirect-uri}
请详细阅读https://developers.facebook.com/docs/facebook-login/login-flow-for-web-no-jssdk/以获取有关此过程的说明。