TwitterAPI로 다른 계정에서 게시

개요



TwitterAPI를 사용해, 자신의 계정으로부터 자동으로 중얼거리는 것은 간단하지만, 다른 계정으로부터 중얼거리는 방법을 모르게 조사했을 때의 메모1.

전제


  • Python이 사용 가능한 상황입니다 (나는 버전 3.7.0)
  • Twitter의 API 신청이 끝났다

  • 준비



    패키지 설치



    여기 을 사용하겠습니다 (나는 버전 1.18.0).
    pip install twitter
    

    애플리케이션 만들기



    앞으로 메모하는 방법은 아마 PIN-based authorization 를 이용하고 있으므로, callback_url 는 사용하지 않는 것. 단지 공식 문서에 이하와 같이 있으므로, 일단 이미지와 같이 Callback URLs도 메워 둔다 2 .

    The callback_url within the Twitter app settings is still required, even when using PIN-based auth.



    파이썬 스크립트 준비



    아래 두 파일을 같은 디렉토리에 준비.

    config.py
    app_name = "XXXXXXXXXX" # 上で作成したアプリケーション名
    consumer_key = "XXXXXXXXXX" # アプリケーション管理画面のConsumer API Keys > API key
    consumer_secret = "XXXXXXXXXX"  # アプリケーション管理画面のConsumer API Keys > API secret key
    

    main.py
    from twitter import *
    from config import *
    oauth_dance(app_name, consumer_key, consumer_secret, token_filename="./config.txt", open_browser=False)
    

    파이썬 스크립트 실행


    main.py를 실행하면 다음과 같이 URL이 표시되고 PIN을 입력하라는 메시지가 표시됩니다.
    Hi there! We're gonna get you all set up to use sample.
    Opening: https://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxxx
    
    
    Please go to the following URL, authorize the app, and copy the PIN:
    
    https://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxxx
    Please enter the PIN:
    

    브라우저에서 URL을 열고 트윗하고 싶은 계정으로 로그인 후 PIN을 얻는다3. PIN을 입력하면 다음 메시지가 표시되고 config.txt에 token과 token_secret이 저장됩니다.
    That's it! Your authorization keys have been written to ./config.txt.
    



    실제로 트윗 파이썬 스크립트는 다음과 같습니다. 또한, 준비시와 동일한 패키지를 이용하고 있다.
    from twitter import *
    from config import *
    t = Twitter(
        auth=OAuth(
            'XXXXXXXXXX', # token(config.txtの1行目)
            'XXXXXXXXXX', # token_secret(config.txtの2行目)
            consumer_key,
            consumer_secret,
        )
    )
    t.statuses.update(status="message")
    

    마지막 줄 "message"을 임의의 문자열로 바꾸면 원하는대로 중얼거릴 것입니다.



    API의 신청시에 이용 목적 등 기재하고 있을 것이므로, 그 범위를 넘는 사용법은 당연 NG. 자기 책임으로. 

    사용되지 않을 것이므로 뭐든지 좋지만, 나는 우선 내 github 페이지의 URL로 만들었다. 

    통상은 자신의 어플리케이션의 유저에 로그인 받을 것이겠지만, 동작 확인은 자신의 서브 아카로 실시했다. 

    좋은 웹페이지 즐겨찾기