--- title: Gauche-net-twitter を使ってみる author: kazu634 date: 2010-06-07 url: /2010/06/07/_1533/ wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:5273;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - gauche - Lisp ---

shiroさんの仕事の速さに脱帽しつつ、とりあえず投稿するところまでやってみました。

ダウンロード

githubからダウンロードします。

f:id:sirocco634:20100607221232p:image

インストール

こんな感じでインストールします:

kazu634@kazu634% tar -zxf shirok-Gauche-net-twitter-403ef4f.tar.gz                 ~/Desktop [2649]
kazu634@kazu634% ll                                                                ~/Desktop [2650]
total 148312
-rw-r--r--@  1 kazu634  staff   2.0M  1 31 18:00 02140_romanbath_1920x1200.jpg
drwxr-xr-x@ 10 kazu634  staff   340B  4 16 21:14 FusionChartsFree
drwxr-xr-x@ 12 kazu634  staff   408B  4 16 22:44 FusionChartsFree 2
-rw-r--r--   1 kazu634  staff   705K  6  6 21:02 Monthly1006.pdf
-rw-r--r--@  1 kazu634  staff    70M  5 26 22:12 galapagos.MP3
-rw-r--r--@  1 kazu634  staff   140B  4 13 23:50 googlemaps.key.gpg
drwxr-xr-x@  9 kazu634  staff   306B  6  7 18:27 shirok-Gauche-net-twitter-403ef4f
-rw-r--r--@  1 kazu634  staff    10K  6  7 21:43 shirok-Gauche-net-twitter-403ef4f.tar.gz
-rw-r--r--@  1 kazu634  staff   2.1K  5 22 14:13 twitter_signature.png
kazu634@kazu634% cd shirok-Gauche-net-twitter-403ef4f/
kazu634@kazu634% ll                              ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2652]
total 64
-rw-r--r--@ 1 kazu634  staff   1.5K  6  7 18:27 COPYING
-rwxr-xr-x@ 1 kazu634  staff   1.0K  6  7 18:27 DIST
-rw-r--r--@ 1 kazu634  staff   1.7K  6  7 18:27 Makefile.in
-rw-r--r--@ 1 kazu634  staff   8.9K  6  7 18:27 README
-rw-r--r--@ 1 kazu634  staff   2.4K  6  7 18:27 configure.ac
drwxr-xr-x@ 4 kazu634  staff   136B  6  7 18:27 net
-rw-r--r--@ 1 kazu634  staff   138B  6  7 18:27 test.scm
kazu634@kazu634% ./DIST gen                      ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2662]
kazu634@kazu634% ./configure                     ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2663]
checking for gosh... /opt/local/bin/gosh
checking for gauche-config... /opt/local/bin/gauche-config
checking for gauche-package... /opt/local/bin/gauche-package
checking for gauche-install... /opt/local/bin/gauche-install
checking for gauche-cesconv... /opt/local/bin/gauche-cesconv
configure: creating Gauche-net-twitter.gpd
configure: creating ./config.status
config.status: creating Makefile
kazu634@kazu634% make                            ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2664]
make: Nothing to be done for `all'.
kazu634@kazu634% make -s check                   ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2665]
Testing net.twitter ...                                          passed.
kazu634@kazu634% sudo make install               ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2666]
Password:
/opt/local/bin/gauche-install -C -m 444 -T /opt/local/lib/gauche/site/include 
/opt/local/bin/gauche-install -C -m 444 -T /opt/local/share/gauche/site/lib ./net/twitter.scm ./net/twitauth.scm 
/opt/local/bin/gauche-install -C -m 555 -T /opt/local/lib/gauche/site/0.9/i386-apple-darwin10.3.0 
/opt/local/bin/gauche-install -C -m 444 -T /opt/local/share/gauche/site/lib/.packages Gauche-net-twitter.gpd

OAuthの認証プロセス

手っ取り早く認証するためのスクリプトが用意されているので、それを利用します。

kazu634@kazu634% cd net/                         ~/Desktop/shirok-Gauche-net-twitter-403ef4f [2668]
kazu634@kazu634% ll                          ~/Desktop/shirok-Gauche-net-twitter-403ef4f/net [2669]
total 40
-rw-r--r--  1 kazu634  staff   1.5K  6  7 18:27 twitauth.scm
-rw-r--r--  1 kazu634  staff    16K  6  7 18:27 twitter.scm
kazu634@kazu634% gosh twitauth.scm           ~/Desktop/shirok-Gauche-net-twitter-403ef4f/net [2671]
Enter consumer key: 自分の consumer key
Enter consumer secret: 自分の consumer secret key
Open the following url and type in the shown PIN.
https://api.twitter.com/oauth/authorize?oauth_token=nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Input PIN: 6828271
(
(consumer-key        . "自分の consumer key")
(consumer-secret     . "自分の consumer secret key")
(access-token        . "access token")
(access-token-secret . "access token secret")
)

画面の指示に従いましょう。表示された consumer key, consumer secret key, access token, access secret token はメモっておきましょう。

twitter に投稿してみる

こうすると投稿できます:

(use net.twitter)
(define cred
(make <twitter-cred>
:consumer-key "自分の consumer key"
:consumer-secret "自分の consumer secret key"
:access-token "access token"
:access-token-secret "access token secret"))
(twitter-update cred "Gosh-net-twitterからテスト投稿です!")

できました

f:id:sirocco634:20100607222107p:image

追記

この記事を書いている間にも、 readme を更新している shiro さんがすげぇ。この記事書く意味がほとんどなくなった。自分が読んでいたときには (make …) してインスタンス作る部分が書いてなかったんだよなぁ。