2.제약조건
- python2.7.6 환경에서 하니 너무 낮은 버전이 되어서 ssl에서 문제가 있다하여 안되어서 python3버전에서 해보는 것으로 하다.
- 트위터 계정을 만들어 놓을 것
3. 순서
1)먼저 tweepy를 설치해 보았다.
리눅스 커멘드모드에서 ..
git clone git://github.com/tweepy/tweepy.git
cd tweepy
python setup.py install
된줄 알고 python3를 실행해서 import tweepy를 해보니
2) pip가 없다 해서 pip를 설치하다.
이건 python2.7용 설치
sudo apt-get install python-pip
이건 python3.3용 설치
sudo apt-get install python3-pip
다 된줄 알고 또 python3를 실행해서
import tweepy를 해보니
3) 또 OAuthlib가 없다 해서 그것도 설치하다
sudo apt-get install python3-OAuthlib
암튼 python3 실행해서 모듈이 없다고 하면 설치하였다.
이제 그런게 마무리 되었으면
트위터에서 로그인한 후
남들이 해 놓은게 많아서 생략한다. 그런데 좀 보니 중간에 url을 넣으라고 하는데, 이건 내가 뭐 서비스하는 홈피가 있는거도 아니니, 일단 내 블로그 주소를 갖다 넣었다. 그리고 나서 customer_key와 secret_key를 받아서 아래와 같이 적용하였다.
(접근 권한 얻기)
>>> import tweepy
>>> c_key='UBt1QlYaysPYL'
>>> c_secret='go3IqkW'
>>> auth=tweepy.OAuthHandler(c_key,c_secret)
>>> auth_url=auth.get_authorization_url()
>>> print(auth_url)
이렇게 하니 아래 주소가 나온다. 아래 주소창을 실행시키니 패스워드 같은 7자리 숫자가 나온다.
나온 숫자를 아래처럼 입력받아서,
>>> verifier=input(':').strip()
:7822336
아래 문장처럼 접근 권한을 받으니 아래와 같은 값이 리턴된다.
>>> auth.get_access_token(verifier)
('2745448888-L4zSyCuda9AVEgT5eredgretttFFR', 'HsHtrsSAmVXxSXwJ6KdO')
그냥 프린트문장을 쓰니깐 프린트가 먹지를 않는다. 타입이 다른가보다. 좀더 살펴보기로 하고,,
이제 트위터에 출력을 위해서 아래와 같이 입력한다.
>>> access_key='274****************'
>>> access_token='HsHtrs'
>>> import urllib
>>> auth=tweepy.OAuthHandler(c_key,c_secret)
>>> auth.set_access_token(access_key,access_token)
>>> api=tweepy.API(auth)
>>> api.update_status('Hello from tweepy!')
이렇게 하니까 400 오류가 발생한다.
tweepy.error.TweepError: Twitter error response: status code = 400
찾아보니 버그라고 해서 아래와 같이 수정하였다.
>>> api.update_status(status='Hello from tweepy!')
트위터에 정말 출력이 되었다.
IOT와 관련하여 각종 정보를 사용자에게 전달할 일이 많을텐데 ,트위터가 딱 좋아 보이고, 그런의미에서 계측된 정보들을 전송하는 방법에서 아주 좋은 방법인것 같다.
누구에겐가 도움이 되기를 바라며,,