Twitterからストリームをダウンロードするための単純なbashスクリプトを書いています。
curl -H "Authorization: ${TOKEN}" "$URL"
必要な入力$TOKEN
(CONSUMER_KEY、...)がすべてありますが、oauth_sign
入力データからトークンを生成するプログラムをどこで入手できますか?
TOKEN=$(oauth_sign $CONSUMER_KEY $CONSUMER_SECRET $ACCESS_TOKEN $ACCESS_SECRET GET $URL)
答え1
私は@goldilocksから提供されたリンクをダウンロードしました。http://acme.com/software/oauth_sign/をクリックしてコンパイルされていることを確認してください。簡単なようです。
編む
$ make
gcc -c -Wall -O liboauthsign.c
liboauthsign.c: In function ‘oauth_sign’:
liboauthsign.c:123:5: warning: implicit declaration of function ‘getpid’
liboauthsign.c:305:5: warning: pointer targets in passing argument 4 of ‘HMAC’ differ in signedness
/usr/include/openssl/hmac.h:99:16: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
rm -f liboauthsign.a
ar rc liboauthsign.a liboauthsign.o
ranlib liboauthsign.a
gcc -Wall -O oauth_sign.c -L. -loauthsign -lcrypto -o oauth_sign
使用法
$ ./oauth_sign --help
usage: oauth_sign [-q] consumer_key consumer_key_secret token token_secret method url [name=value ...]
Readmeファイルからの抜粋
これを使用するには、リクエスト方法とURLとともに4つの暗号化されたCookieを提供する必要があります。追加のパラメータがあるPOSTリクエストの場合は、これらのパラメータも指定する必要があります。 Oauth_signはこれらすべてをまとめて署名文字列を形成します。署名は、RFCセクション3.4.2で指定されたHMAC-SHA1を使用して生成され、RFCセクション3.5.1で指定されたAuthorizationヘッダー値として返されます。これにより、このヘッダーは、http_get(1)およびhttp_post(1)の-hフラグまたはカール(1)の-Hフラグを介してHTTP要求に使用できます。
独自のCアプリケーションで利用可能な関数を公開するライブラリが付属しているようです。
答え2
Twitterユーザーからストリームソースを取得するbashコマンドを使用してTwitterでストリームを開きます。 (commandlinefu.comから)
ステップ1 - 4つのoauthキーを作成するTwitterストリームフィードに必要です。
ステップ2 - 署名基本文字列を生成するTwitterストリームフィードに必要です。
ステップ3 - oauthトークンを作成するTwitterストリームフィードに必要です。
ステップ4 - 認証ヘッダーの生成Twitterストリームフィードに必要です。