c#facebook-apiPostAsync循环馈送
本文关键字:循环 c#facebook-apiPostAsync | 更新日期: 2023-09-27 17:57:45
我正在开发一个facebookasp.net c#应用程序
现在应用程序将用户的accesstoken存储在数据库中,我也会写下我的过期时间和facebookid。
例如,当用户通过身份验证时,我在数据库中存储一条用户的access_token记录,expire=DateTime.UtcNow+5分钟,以及他的facebook id
现在应用程序每1分钟运行一个后台线程。
线程检查每个用户是否过期<DateTime.UtcNow,如果是的话,它会贴在墙上我知道facebook的access_token在大约1小时的中过期
现在我的问题是,有时是帖子,有时不是,它不稳定。
我在一个循环中发布,并使用PostAsync。
代码:
for (int i = 0; i < records.Count; i++)
{
//init the facebookClient with valid access_token
Facebook.FacebookClient fbc = new Facebook.FacebookClient(records[i].token_data);
Dictionary<string, object> post = new Dictionary<string, object>();
post.Add("message", "my message");
post.Add("link", "http://mylink/");
post.Add("picture", "http://somepic.gif");
post.Add("name", "my app name");
post.Add("caption", "text text text");
post.Add("description", "text text text");
post.Add("actions", "{'"name'":'"Play Now!'", '"link'":'"http://my app page/'"}");
//the punchline
fbc.PostAsync(records[i].facebook_id.ToString() + "/feed", post);
}
现在它冷运行50-100个环路
我对一些用户的测试我发布了,对一些用户没有而不是所有时间。
如果我理解正确,你每次都在向用户的墙上发送相同的消息?你的问题可能是Facebook。如果你的消息没有变化,Facebook倾向于忽略第二条消息(或者它可能只是简单地添加短语"X个类似的帖子")。
从脸书的角度来看,你试图做的事情听起来很"垃圾"(他们对做这种事情非常苛刻)。如果你在用户墙上写消息,你真的应该问用户是否可以这样做(不,你不必这样做,但这应该与用户在你的应用程序上的活动结合起来…比如发布游戏分数)。如果用户报告你在向他们的墙发送垃圾邮件,你的应用程序将被Facebook删除,所以你可能需要重新思考你想做什么。
(我怀疑这是你想听到的答案,因此我怀疑你是否会把我标记为答案,但如果你的研究证实了我告诉你的,那么最好把我标记成答案……或者至少被另一位读者投票支持)。