Я занимаюсь разработкой приложения на Facebook asp.net c #
теперь приложение хранит access_token пользователей в базе данных, и я также пишу свое время истечения и идентификатор Facebook.
например, когда пользователь проходит аутентификацию, я сохраняю в БД запись для пользователя с его access_token и expire = DateTime.UtcNow + 5 минут и его идентификатором Facebook
теперь приложение запускает фоновый поток каждую 1 минуту.
Поток проверяет каждого пользователя, если срок его действия истекает он публикует на своей стене
я знаю, что фейсбук 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 петель
с моими тестами для некоторых пользователей я пишу, а для некоторых нет
и не все время.