SBRKEY
PiSTARTER向け公開キーシステム

APIリファレンス

目次

公開キーからURLを取得

GET https://textblog.minibird.jp/sbrkey/key2url.php

公開キーを指定してURLを取得する。
取得時、データベースのDL数が自動でインクリメントされる。
リダイレクトではなくURLがレスポンスとして返るだけなので注意。

GitHubのリモートリポジトリのURLが登録されている場合がある。
先頭に「G-」を付ければuser/repoの形式で返す。「R-」または何も付けなければDownload ZIPのURLを返す。

取得したURLをRaspberry Piでダウンロードする際は、以下のコマンドを使用する:

sudo wget --trust-server-names --content-disposition 'URL'
PiSTARTER上からダウンロードする場合は、これをSYSTEM$()で実行するとよい。

パラメータ説明
key(必須)公開キー。先頭の「R-」や「G-」は付いていてもいなくてもよい。
no_incDL数をインクリメントするかのフラグ。falseを指定するとインクリメントしない。
ステータス レスポンス 意味
200<URL>成功。公開キーに紐付けられたURLまたはリポジトリが返る。
404No SBRKEY公開キーが送信されていない。
404Not found指定された公開キーは存在しないか、URLにアクセスできないため削除された。
500Not repository接頭辞「G-」でリクエストされたが、登録されているのがリポジトリのURLではない。
500Unsupported git repositoryGitHub以外のリモートリポジトリが指定されているため、取得できない。
500ERROR!SQLサーバーに接続できないなど、データベース関連のエラー。

公開キーの発行・取得

POST https://textblog.minibird.jp/sbrkey/getKey.php

URLを指定して公開キーを新規発行し取得する。
過去に作品を公開したことがあり、認証用ハッシュ値を既に持っている場合は、同じハッシュ値を指定して登録することもできる。

GitHubのリポジトリのURLをそのまま指定できる。
その場合、リポジトリに対応したクライアントではclone、対応していないクライアントではmasterのzipがダウンロードされる。

パラメータ 説明
url(必須)公開キーを取得するURL。wgetコマンドで直接ダウンロードできるようなURLを指定しないと不都合が生じる。
token認証用ハッシュ値。16進数、英大文字、64桁のハッシュ値を用いている。
ステータス レスポンス 意味
200<公開キー>,<認証用ハッシュ値>成功。発行された公開キーと認証用ハッシュ値がカンマで区切られて返る。
このハッシュ値はリクエスト時にハッシュ値を指定しても返される。
403No URLURLが送信されていない。
403invalid URL指定されたURLにアクセスできない。
403Already existed / Too much access指定されたURLは既に公開キーを取得している、あるいは立て続けに公開キーを発行している。
403Too much access24時間に5件を超える公開キーを取得しようとしている。
500Unsupported git repositoryGitHub以外のリモートリポジトリが指定された。
500ERROR!SQLサーバーに接続できないなど、データベース関連のエラー。

公開キーの削除

POST https://textblog.minibird.jp/sbrkey/deleteKey.php

指定した公開キーを削除する。
存在しない公開キーを指定した場合に加え、認証用ハッシュ値を間違えた場合でも削除は失敗となる。
もし認証用ハッシュ値を忘れてしまった場合は運営(@is_ptcm)に連絡してください。

パラメータ 説明
key(必須)公開キー。先頭の「R-」や「G-」は付いていてもいなくてもよい。
token(必須)認証用ハッシュ値。16進数、英大文字、64桁のハッシュ値を用いている。
ステータス レスポンス 意味
200success成功。公開キーは正常に削除された。
403invalid SBRKEY / invalid token公開キー、または認証用ハッシュ値のパラメータが不足している。
403Not found / invalid token指定された公開キーが存在しないか、認証用ハッシュ値が間違っている。
500ERROR!SQLサーバーに接続できないなど、データベース関連のエラー。

公開キーの更新

POST https://textblog.minibird.jp/sbrkey/updateKey.php

公開キーに紐付けられたURLを更新する。
存在しない公開キーを指定した場合に加え、認証用ハッシュ値を間違えた場合でも更新は失敗となる。

パラメータ 説明
key(必須)公開キー。先頭の「R-」や「G-」は付いていてもいなくてもよい。
token(必須)認証用ハッシュ値。16進数、英大文字、64桁のハッシュ値を用いている。
url(必須)新しいURL。wgetコマンドで直接ダウンロードできるようなURLを指定しないと不都合が生じる。
ステータス レスポンス 意味
200success成功。公開キーは正常に更新された。
403invalid paramsいずれかのパラメータが不足している。
403invalid URL指定されたURLにアクセスできない。
403Already existed / Too much access指定されたURLは既に公開キーを取得している、あるいは立て続けに公開キーを発行している。
403Not found / invalid token指定された公開キーが存在しないか、認証用ハッシュ値が間違っている。
500Unsupported git repositoryGitHub以外のリモートリポジトリが指定された。
500ERROR!SQLサーバーに接続できないなど、データベース関連のエラー。

ダウンロード数の取得

GET https://textblog.minibird.jp/sbrkey/getDL.php

公開キーに記録されたダウンロード数を取得する。
なお、同じIPアドレスやホストの連続アクセスなどは一切チェックしていないため、正確なDL数がほしい場合は別の方法でカウントすること。

パラメータ 説明
key(必須)公開キー。先頭の「R-」や「G-」は付いていてもいなくてもよい。
ステータス レスポンス 意味
200<DL数>成功。公開キーに紐付けられたDL数が返る。
404No SBRKEY公開キーが送信されていない。
404Not found指定された公開キーは存在しないか、URLにアクセスできないため削除された。
500ERROR!SQLサーバーに接続できないなど、データベース関連のエラー。

他の実装予定

とりあえず全部実装したと思う

公開キーの通報機能は実装しない予定です。
そもそも通報機能が役に立つほど本システムが利用されていません(´・ω・`)