Service Providerまで作る必要はないよなぁと思っているのでConsumerだけ。気が向いたらそのうち実装するかも。
っで、とりあえずTwitterに投稿できたので浮かれて書いてる。コードは以下。
(import (rnrs) (net oauth) (text sxml ssax) (sagittarius io) (srfi :26 cut)) (define (call/twitter-api->sxml token method path param . opt) (define (call) (if token (access-protected-resource (string-append "http://api.twitter.com" path) token :user-parameters param :request-method method) (assertion-violation 'call/twitter-api->sxml "later"))) (define (retrieve body status hint advice) (call-with-input-string body (cut ssax:xml->sxml <> '()))) (call-with-values call retrieve)) (define (twitter-update/sxml token message . opt) (call/twitter-api->sxml token 'POST "/1/statuses/update.xml" `(("status" ,message)))) (define access-token (make-access-token :key "アクセストークンを入れてね" :secret "アクセスシークレットを入れてね" :consumer (make-consumer-token :key "コンシューマトークンを入れてね" :secret "コンシューマシークレットを入れてね"))) (print (twitter-update/sxml access-token "Hello world from Sagittarius Scheme!!"))これだけで投稿が出来た。まぁ、アクセストークンを作る部分とかもあるんだけど、一度作ったら使いまわしなので略。Twitter用のAPI集はSagittarius本体に入れるつもりはないんだけど、どこかに置けたらいいなぁ。
これで仕事してる振りして呟ける(違
そういえば、OAuthの2.0どうしよう。今の作りだとガッツリ1.0用だ・・・
No comments:
Post a Comment