趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • Twitter用Pythonライブラリのtweepyを試してみました

    投稿日 2012年 9月 14日 コメントはありません

    Raspberry Piからツイートする方法を調べるため、Pythonライブラリのtweepyを試してみます。

    1.Twitterのアカウントの準備とアプリケーション登録

    アカウントの登録については、省略。準備したアカウントに対してこちらのサイトを参考にして、アプリケーション登録をしました。他にも参考になるサイトはたくさんあるようです。
    登録後、自分の登録アプリケーション一覧は https://dev.twitter.com/apps/ で確認、変更する。
    この中で、登録アプリケーションを開いて、「Setting」の中のApplication Typeを「Read and Write」にしてから、「Recreate my access token」を押して、Access level が「Read and write」の状態でAccess tokenとAccess token secretが表示されていることを確認します。

    2.tweepyライブラリのインストール

    インストール手順は以下の通り

    $ sudo apt-get install python-setuptools
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    以下のパッケージが新たにインストールされます:
    python-setuptools
    アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 37 個。
    217 kB のアーカイブを取得する必要があります。
    この操作後に追加で 1,077 kB のディスク容量が消費されます。
    取得:1 http://archive.ubuntu.com/ubuntu/ natty/main python-setuptools all 0.6.15-1ubuntu1 [217 kB]
    217 kB を 3秒 で取得しました (69.9 kB/s)
    未選択パッケージ python-setuptools を選択しています。
    (データベースを読み込んでいます ... 現在 173551 個のファイルとディレクトリがインストールされています。)
    (.../python-setuptools_0.6.15-1ubuntu1_all.deb から) python-setuptools を展開しています...
    python-setuptools (0.6.15-1ubuntu1) を設定しています ...
    $ sudo easy_install tweepy 
    Searching for tweepy
    Reading http://pypi.python.org/simple/tweepy/
    Reading http://github.com/joshthecoder/tweepy
    Reading http://github.com/tweepy/tweepy
    Best match: tweepy 1.11
    Downloading http://pypi.python.org/packages/source/t/tweepy/tweepy-1.11.tar.gz#md5=6d8d760f41e2473e20077279e65e17a0
    Processing tweepy-1.11.tar.gz
    Running tweepy-1.11/setup.py -q bdist_egg --dist-dir /tmp/easy_install-SzL6DK/tweepy-1.11/egg-dist-tmp-iXWi9s
    Adding tweepy 1.11 to easy-install.pth file
    Installed /usr/local/lib/python2.7/dist-packages/tweepy-1.11-py2.7.egg
    Processing dependencies for tweepy
    Finished processing dependencies for tweepy
    $ python
    Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
    [GCC 4.5.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tweepy
    >>>
    $

     3.アクセスに必要な各種トークンを入手する

    TwitterのDevelopperサイトを開いて、ログイン後、 My applicationから「OAuth tool」タブを開いて、CONSUMER_KEY、CONSUMER_SECRET、ACCESS_KEY、ACCESS_SECRETを入手する。

    4.投稿テスト

    投稿テストしてみる。スクリプトはこちらのサイトそのまんま。詳しい説明はそちらを。
    スクリプト内の CONSUMER_KEY、CONSUMER_SECRET、ACCESS_KEY、ACCESS_SECRET は上記3で入手したものをコピペする。

    #!/usr/bin/env python
    import sys
    import tweepy
    CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxxx'
    CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    ACCESS_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    mypost = sys.stdin.readline().strip()
    if 0==len(mypost):
        exit()
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
    api = tweepy.API(auth)
    api.update_status(mypost)

    これでシェルからコマンドラインから実行してみると・・・

    $ ./twit.py 
    これは投稿テストです
    $

    これで無事に投稿できました!!

    5.Raspberry Piから投稿してみる

    まったく同じ手順で tweepy を Raspberry Pi にインストールした後、 このtwit.pyファイルも Raspberry Pi にコピーしてコマンドラインから投稿テストを行ったところ、無事に投稿できました!

    コメントをどうぞ(日本語のみ/Only in Japanese)

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)