본문 바로가기

IT네트워크

트위터를 RSS를 통해 받아보는 방법

누군가 재미있는 말을 하는 사람의 트위터를 보면 그 사람을 팔로잉하곤 합니다. 또는 시간줄에 표시되는 것이 불편하다면 리스트에 넣어서 구독하곤 합니다. 그러나 이것은 모두 트위터라는 환경에 접근해야만 볼 수 있습니다. 트위터 웹도 좋아지고 많은 써드 파티의 트위터 앱이 있습니다만, ‘구독’이라는 측면에서는 불편합니다. 만약 RSS를 통해 트위터를 구독할 수 있다면 얼마나 좋을까 싶습니다. 그래서 트위터를 RSS로 구독하는 방법을 소개해 드리고자 합니다.

RSS로 트위터를 받아보기

트위터를 RSS로 받아보는 방법으로 널리 알려진 주소는 다음과 같습니다.

https://twitter.com/statuses/user_timeline/[사용자 이름].rss

그러나 이 방식은 더 이상 동작하지 않습니다.


Why am I getting a HTTP 404 for my timeline feed?

기존 RSS 주소 방식은 더 이상 동작하지 않으며, 새로운 주소가 공개되었습니다. 새로운 주소는 다음과 같습니다.

https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=[사용자 이름]

예를 들어 제 트위터의 RSS 주소는 이렇습니다.

https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=studioxga

그러나, 이 방식에는 근본적인 문제가 있습니다. 사용자 이름은 언제나 바뀔 수 있고 만약 사용자가 이름을 바꿀 경우 그 RSS는 더 이상 동작하지 않게 되기 때문이다.

트위터 고유 ID를 확인하여 RSS로

이럴 때 트위터 고유 ID를 확인하는 방법이 가장 좋습니다. 흔히들 사용자 이름을 통해서 트위터 주소를 말합니다만, 이는 언제든 바뀔 수 있습니다. 그러나 트위터는 내부적으로 고유 ID를 놓고 그것을 통해 사용자를 식별할 수 있게 하고 있습니다.

https://twitter.com/users/[사용자 이름]

각 트위터의 고유 ID를 확인하기 위해서는 위 주소를 통해서 정보를 확인하여야 합니다. 위 주소는 사용자의 정보를 보여주는 XML 페이지입니다. 이 페이지에는 사용자 이름과 설명, 프로필 이미지 등이 있습니다만, 그와 더불어 고유 ID가 있습니다.

https://twitter.com/users/studioxga

샘플로 제 트위터의 사용자 정보 XML 페이지입니다.


https://twitter.com/users/studioxga

첫 줄에 <id> 태그로 트위터 사용자의 고유 ID를 확인할 수 있습니다. 제 트위터의 경우엔 ID가 54229232였습니다. 마찬가지로 https://twitter.com/users/[고유 ID]로도 사용자 정보를 확인할 수 있습니다.

https://api.twitter.com/1/statuses/user_timeline.rss?id=[고유 ID]

자, 앞서 주소와 비슷하지만, 조금 다릅니다. 이 주소에 고유 ID를 넣으면 사용자 이름을 바꾸어도 주소가 바뀌지 않는 RSS 주소를 확인할 수 있습니다.

https://api.twitter.com/1/statuses/user_timeline.rss?id=54229232

제 트위터의 고유한 RSS 주소는 위와 같습니다.

구글 리더에 추가 HanRSS에 추가

트위터를 팔로잉하거나 리스트에 추가하여 구독할 수도 있지만, 다양한 기능의 RSS 리더기를 통해서도 읽을 수 있는 것입니다.

관심글도 RSS로 구독할 수 있다

트위터에서 사용자가 등록한 관심글도 RSS로 불러들일 수 있습니다. 그 주소는 다음과 같습니다.

https://api.twitter.com/1/favorites.rss?id=[고유 ID] https://api.twitter.com/1/favorites.rss?screen_name=[사용자 이름]

과거에는 리스트 등 다양한 정보를 RSS로 제공하고 있었지만 이제는 OAuth 등이 도입되며 API 제한이 생기면서 인증 받지 않은 RSS로의 접근이 매우 제한되어서 사용자 시간 줄과 관심 글 이외에는 찾을 수가 없었습니다. 대부분의 API가 인증을 받지 않으면 쓸 수 없게 바뀌어서 일반적인 RSS 리더기로는 접근할 수 없기 때문입니다.