c # facebook api PostAsync в цикле - PullRequest
0 голосов
/ 24 мая 2011

Я занимаюсь разработкой приложения на 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 петель

с моими тестами для некоторых пользователей я пишу, а для некоторых нет и не все время.

1 Ответ

1 голос
/ 25 мая 2011

Если я правильно вас понимаю, вы каждый раз отправляете одно и то же сообщение на стену пользователя?Ваша проблема может быть Facebook.Если в вашем сообщении нет изменений, Facebook, как правило, игнорирует второе сообщение (или может просто добавить фразу «X похожих сообщений»).

То, что вы пытаетесь сделать, звучит очень «спамно» с точки зрения Facebook (они очень суровы при выполнении подобных вещей).Если вы пишете сообщение на стене пользователя, вам действительно следует спросить пользователя, нормально ли это делать (нет, не нужно, но это следует делать в связи с активностью пользователя в вашем приложении ... напримервыкладываю счет игры).Если пользователи сообщают, что вы спамуете их стену, ваше приложение будет заблокировано Facebook, поэтому вы, возможно, захотите переосмыслить то, что вы пытаетесь сделать.

(сомневаюсь, что это ответ, который вы хотели услышать, ив результате я сомневаюсь, что вы отметите меня как ответ, но если ваше исследование подтвердит то, что я вам сказал, было бы хорошо, чтобы его отметили как ответ ... или хотя бы проголосовал другой читатель).

...