Удалить входящие сообщения с помощью TweetSharp

Я использую последнюю стабильную версию TweetSharp из codeplex в проекте VS2008 C#. Я пишу проект с точки зрения TwitterService, а не FluentTwitter.

У меня есть приложение, которое аутентифицируется, а затем действует как слушатель. Он сидит и регулярно опрашивает Twitter в поисках прямых сообщений. После того, как я получил последние прямые сообщения (что работает нормально), я обрабатываю их и делаю что-то, затем я хочу удалить их из своего почтового ящика, чтобы никогда не обрабатывать их снова.

Первым местом, которое я посмотрел, был TwitterServer.DeleteDirectMessage(int msgId), однако, поскольку я не автор DM, я явно не могу их удалить. Я знаю, что есть способ сделать это, потому что, если вы войдете на веб-страницу Twitter, вы можете просто удалить DM одно за другим из своего почтового ящика.

Два вопроса: 1. Как удалить DM из моего почтового ящика? 2. Где полная документация? (Извините, если это очевидно, и я пропустил это, но этого нет на вкладке «Документация» на сайте codeplex TweetSharp. Единственное, что находится в разделе «Документация», — это несколько примитивных примеров.)

        //Authenticate...

        //Declarations:
        string message = null;
        List<string> messages = new List<string>();
        IEnumerable<TwitterDirectMessage> directMessages = service.ListDirectMessagesReceived();

        //Fetch all current direct message:
        foreach (TwitterDirectMessage directMessage in directMessages)
        {
            //Store each message into a list, in reverse older:
            message = /*"[" + directMessage.CreatedDate.ToString() + "]" +*/ directMessage.Text;
            messages.Insert(0, message);

            //Delete each DM to ensure that is is never fetched again:
            // ??
        }

        //Do stuff with DMs

person kmarks2    schedule 07.01.2011    source источник


Ответы (1)


Вы действительно хотите удалить DM с сервера? Что, если пользователь вернется на twitter.com и захочет найти их там?

Другой подход может заключаться в том, чтобы вы отслеживали DM, которые отображались ранее, и отфильтровывали их позже на стороне клиента перед повторной обработкой.

person Adam Lear    schedule 07.01.2011
comment
Спасибо. Да, мой текущий хак заключался в том, чтобы хранить метку времени, когда я извлекаю/обрабатываю DM. Затем все DM до этого времени считаются обработанными. Но да, я действительно хочу полностью удалить DM. На самом деле я использую Twitter как грубую шину сообщений. Пользователь продукта никогда не войдет в Twitter, а сохранение истории сообщений вообще не будет иметь значения. - person kmarks2; 07.01.2011