tweepy로 RT를 취소하는 방법

우선 결론



API.get_status(ID,include_my_retweet=1)
라고 지정하면 돌아오는 status 객체에 current_user_retweet{u'id':xxx, u'id_str':u'xxx'}가 붙어 온다.
그 ID가 retweetID이며, 그것을 API.destroy_status(ID)에 넣으면 RT가 취소되는 구조.
사용 예로는 이런 느낌이 된다.

undo_retweet.py
status = api.get_status(ID, include_my_retweet=1)
if status.retweeted == True:
    api.destroy_status(status.current_user_retweet['id'])

상세한 개요



우선 tweepy의 API 레퍼런스를 제외하면 아래와 같은 느낌으로 표시되고 있다.
이와 같이 ID만 지정하면 current_user_retweet는 돌아오지 않고 API.destroy_retweet(id)도 존재하지 않기 때문에 RT의 취소를 할 수 없다.


일단 retweet시에 돌려주어지는 status 오브젝트의 ID가 retweetID인데, 한번 retweet 해 버리면 수동으로 취소해 주고, 한층 더 retweetID를 txt 파일 따위에 보존하지 않으면 안 된다. 이것은 매우 귀찮습니다.
거기서 조사해 본 곳 아래의 기사가 발견되었다
htp // pg-쿠라. 하테나 bぉg. 코m/엔트리/20120328/1332949548

PHP(?)의 기사인 것 같지만, 이것이 tweepy로 그대로 사용할 수 있는 것 같다.
요컨대 레퍼런스를 보면 id밖에 지정할 수 없는 느낌이지만 실제로는 include_my_retweet도 지정할 수 있다는 것이다.

좋은 웹페이지 즐겨찾기