2011-01-26 3 views
1

Я использую TweetSharp для небольшого приложения Twitter. Я могу выбрать твит и перефразировать его ... но я не могу найти способ отменить это действие.TweetSharp Удалить/Отменить Retweet

Эта функция недоступна в TweetSharp или это только я :)?

ответ

0

Я нашел решение. Сначала вам нужно получить сообщение с ретветом, используя оригинальный идентификатор твита, и с этим результатом вы получите идентификатор retweet. С помощью этого идентификатора вы можете вызвать «DeleteTweet» ... тогда он будет работать.

+1

DeleteTweet дает DeleteTweet ошибку 86: «Этот метод требует POST.» –

+0

Этот вопрос/ответ с 2011 года я не работал много с Tweetsharp после этого. Возможно, что-то изменилось с тех пор. – BvdVen

1

Чтобы исправить случай, когда вы можете получить ошибку 86 или HTTP 400 Bad Request с помощью TweetSharp, fork/загрузить источник на https://github.com/danielcrenna/tweetsharp и найти эти строки (7-8) в _TwitterService.2.Tweets.json.

// https://dev.twitter.com/docs/api/1.1/post/statuses/destroy/%3Aid 
TwitterStatus, "statuses/destroy/{id}":DELETE, DeleteTweet, long id, bool trim_user 

Фикс строка # 8 использовать POST вместо DELETE:

// https://dev.twitter.com/docs/api/1.1/post/statuses/destroy/%3Aid 
TwitterStatus, "statuses/destroy/{id}":POST, DeleteTweet, long id, bool trim_user 

Перестроить библиотеку, и в TwitterService.generated.cs, вы должны быть в состоянии найти выход, который выглядит следующим образом:

public virtual TwitterStatus DeleteTweet(DeleteTweetOptions options) 
{ 
    var id = options.Id; 
    var trim_user = options.TrimUser; 

    return WithHammock<TwitterStatus>(WebMethod.Post, "statuses/destroy/{id}", FormatAsString, "?id=", id, "&trim_user=", trim_user); 
}