c#facebook api PostAsync循环馈入

问题描述

| 我正在开发一个Facebook asp.net C#应用程序 现在,应用程序将用户的access_token存储在数据库中,我也要写下我的到期时间和facebook id。 例如,当用户通过身份验证时,我在数据库中存储该用户的一条记录,其中包含他的access_token,expire = DateTime.UtcNow + 5分钟,以及他的facebook ID 现在,应用程序每1分钟运行一次后台线程。 线程检查每个用户是否过期则将其张贴在墙上 我知道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的角度来看,您尝试做的事情听起来很“垃圾”(他们在做这类事情时非常苛刻)。如果您正在向用户的墙上写一条消息,那么您确实应该问用户是否可以这样做(不是您不必这样做,但是应该与用户一起完成\在您的应用上的活动。.例如发布游戏得分)。如果用户报告您正在垃圾邮件,Facebook将取消您的应用程序,因此您可能需要重新考虑您要做什么。 (我怀疑这是您想听到的答案,因此,我怀疑您会将我标记为答案,但是如果您的研究证实了我告诉您的内容,则最好将其标记为答案。至少由另一位读者投票赞成)。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...