Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 트윗하기: Tweepy 활용 완벽 가이드

파이썬(Python)으로 트윗을 올리려면 몇 가지 사전 준비 단계를 먼저 거쳐야 합니다. 이 글에서는 트위터 개발자 앱 설정부터 Tweepy 라이브러리를 이용한 텍스트·이미지 트윗 코드까지 순서대로 살펴보겠습니다.

사전 준비 단계

1단계: 트위터 계정에 휴대폰 번호 등록

가장 먼저 트위터 프로필이 있어야 하며, 해당 계정에 휴대폰 번호를 연동해야 합니다.

설정(Settings) → 휴대폰 추가(Add Phone) → 번호 입력(Add number) → 확인(Confirm) → 저장(Save)

위 과정을 모두 마친 후에는 모든 문자(SMS) 알림을 꺼두는 것이 좋습니다.

2단계: 새 앱(App) 생성

API를 사용하려면 트위터 개발자 페이지에서 새 앱을 만들어야 합니다.

Twitter Apps → Create New App → 콜백 URL(Callback URL)은 비워 두기 → Create your Twitter application

앱이 정상적으로 생성되면 "Your application has been created"라는 메시지가 화면에 표시되며, 이후 앱 설정을 검토하고 조정할 수 있습니다.

3단계: 앱 권한을 '읽기/쓰기'로 변경

기본 상태에서는 트윗 접근 권한이 읽기 전용(read-only)으로 설정되어 있습니다. 트윗을 게시하려면 쓰기(write) 권한이 반드시 필요합니다.

Permissions 탭 → What type of access does your application need? → Read and Write 선택 → Update settings

"The permission settings have been successfully updated"라는 메시지가 표시되면 성공입니다. 변경 사항이 실제로 적용되기까지 잠시 시간이 걸릴 수 있습니다.

4단계: 키(Key)와 액세스 토큰(Access Token) 발급

Keys and Access Tokens 탭으로 이동한 뒤 Create my access token 버튼을 클릭합니다.

"Your application access token has been successfully generated"라는 메시지가 나타나면, 발급된 액세스 토큰/시크릿 값과 읽기·쓰기 권한이 올바르게 설정되었는지 꼭 확인하세요.

5단계: Tweepy 설치

마지막으로 트위터 API를 손쉽게 다룰 수 있게 도와주는 Tweepy 라이브러리를 설치합니다. 아래 명령어 하나면 충분합니다.

pip install tweepy

간단한 텍스트 트윗 올리기

아래 예제는 인증 정보를 설정한 뒤 간단한 문구를 트윗으로 게시하는 기본 코드입니다.

# -*- coding: utf-8 -*-
import tweepy

# 개인 인증 정보
my_consumer_key = "customer_key"
my_consumer_secret = "secret_no"
my_access_token = "token_no"
my_access_token_secret = "secret_token"

# 컨슈머 키(consumer key)와 시크릿(secret) 인증
my_auth = tweepy.OAuthHandler(my_consumer_key, my_consumer_secret)

# 액세스 토큰(access token)과 시크릿(secret) 인증
my_auth.set_access_token(my_access_token, my_access_token_secret)
my_api = tweepy.API(my_auth)

# 트윗 게시
my_api.update_status(status="Hi All Of my Friends !!!!")

이미지(미디어 파일)와 함께 트윗하기

텍스트뿐만 아니라 이미지 파일을 첨부하여 트윗을 게시할 수도 있습니다.

import tweepy

# 개인 인증 정보
my_consumer_key = "customer_key"
my_consumer_secret = "secret_no"
my_access_token = "token_no"
my_access_token_secret = "secret_token"

# 인증 처리
my_auth = tweepy.OAuthHandler(my_consumer_key, my_consumer_secret)
my_auth.set_access_token(my_access_token, my_access_token_secret)
my_api = tweepy.API(my_auth)

my_tweet = "tweet msg"
my_image_path = "path of the image"

# 미디어 파일을 첨부하여 트윗 게시
my_api.update_with_media(my_image_path, my_tweet)

마무리 및 참고 사항

실제 프로젝트에서는 컨슈머 키, 시크릿, 액세스 토큰 같은 민감한 인증 정보를 코드에 그대로 하드코딩하지 말고, 환경 변수나 별도의 설정 파일로 분리해 관리하는 것이 안전합니다.

또한 트위터(현 X)는 API 정책과 요금제를 여러 차례 개정해 왔습니다. 따라서 최신 버전의 Tweepy(API v2 클라이언트 포함)와 현재의 API 접근 정책을 함께 확인한 후 개발을 진행하는 것을 권장합니다.