Outputz API を公開しました

Outputz にアウトプットを投稿することのできる API を公開しました。
ユーザーの皆さんから Firefox 以外でのアクティビティも Outputz に記録したいとのご要望を頂いていましたが、Outputz API を利用すれば可能になります。

API 仕様

POST 用 URI

http://outputz.com/api/post

必ず POST してください。

パラメータ
  • key : 設定ページに表示されている復活の呪文(他人に知られていはいけない)
  • uri : アウトプットの URI
  • size : アウトプットの文字数
ステータス

投稿が成功した場合は HTTP ステータス 200 が返ります。
エラーの場合はエラーに応じて、400, 500 などのステータスがエラーメッセージとともに返されます。

Ruby でのサンプルコード

require 'net/http'

uri  = ARGV.shift
size = ARGV.shift
key  = ARGV.shift

Net::HTTP.start('outputz.com', 80) {|http|
  response = http.post('/api/post', "key=#{URI.encode(key)}&uri=#{URI.encode(uri)}&size=#{URI.encode(size)}&key=#{URI.encode(key)}")
  puts response.body
  puts response.code
}

コマンドライン引数に uri, size, key の順で渡せば投稿する事が出来ます。

GaucheScheme) でのサンプルコード

(use rfc.http)
(use rfc.uri)

(define (main args)
  (receive (status header body)
      (http-post "outputz.com"
                 "/api/post"
                 (apply format "uri=~a&size=~d&key=~a" (map uri-encode-string (cdr args))))
    (format #t "~a: ~a\n" status body)))

Subversion を利用して書いたソースコードを行数をおおざっぱに記録する

上記のスクリプト(post_outputs_by_api.rb)を利用して svn ci 直前に以下のコマンドを走らせる事で、おおざっぱなコード量を記録する事が出来ます。

ruby post_outputs_by_api.rb '適当なURI'\
`svn diff --diff-cmd /usr/bin/diff -x -EbwBu |wc -c` '復活の呪文'

利用にあたっての注意

API の利用は特に制限はありませんが、悪意のあるアクセスや過度に負荷のかかるものはアクセスを禁止する場合もあります。ご注意ください。
投稿アプリなどは、固有のユーザーエージェントを適切に設定していただけると助かります。