自分が運営するサイトの情報を API で公開したいと思います。

過去のここらへんの質問は読みました。
http://q.hatena.ne.jp/1187581294
http://q.hatena.ne.jp/1182094425

受け取る値に対しての渡す値は作れるのですが
API サービスとして基本的な設計や作り方の解説しているサイトを教えて下さい。

具体的には提供したいサイト(ドメイン)毎に API KEY を設定してその API KEY が正しいかどうかの判定。
サイト(ドメイン)毎に回数制限(1秒に1回とか)などです。

仕様としては GET で受けて XML で返しています。
宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/09/24 09:30:08
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:chibitomo No.1

回答回数98ベストアンサー獲得回数3

ポイント35pt

URLなかったのでポイントいらないです

基本的な設計ですが

この質問が基本的な設計ではないでしょうか。

1.API KEY発行

2.発行したAPI KEYをデータベースなどに登録(日時秒とかドメイン,必要ならIPとかも)

3.GETでAPI KEYを受け取る日時秒をアップデート。再度同じドメインからAPI KEY

を受け取るようなら登録されている日時秒と受け取る日時秒を比較して制限。

4.XMLを渡す。

まぁこの仕様だとアクセス多いと負荷高いけど。

設計がしっかりしてれば問題ないかと。

http://q.hatena.ne.jp/1187581294

id:tenkousei

この具体的な実装方法が知りたかったのです。

(GET を投げてきた相手のドメインの取得方法など)

DB を使うと負荷が高くなりますよね。

API を提供しているサイトは

普通に上記の流れで実装されているものなのでしょうか。

2008/09/17 15:58:17
id:vertigo444 No.2

回答回数7ベストアンサー獲得回数0

ポイント35pt

phpかperlを学んでください。http://www.hatena.ne.jp/

id:tenkousei

ごめんなさい。具体的に教えて頂けると助かります。

2008/09/22 19:58:01
  • id:chibitomo
    ちなみに似たような方法でDB実装で作りました。
    おれは作れないからなプログラマに指示しただけだけど。。。

    とりあえず作ってそのコード
    ここで検証してもらった方がはやいかも。

    ドメインとか使わんでも
    ID発行して
    送信元の環境変数(中には改ざん可能の情報)と組み合わせた
    ハッシュ値で検証したり
    申告されたURLから飛んできているのか検証とか
    すればよいだけでは?

    DB使わんでもセッションで一時的に同じIPや
    おんなじIDで時間内にアクセスされたら
    処理しないなど。

    方法はいくらでもあると思います。



  • id:chibitomo
    http://www.thinkit.co.jp/free/article/0609/8/1/
    http://www.1023world.net/api/crossdomain.html
    http://mogo2.jp/api.shtml
    参考になれば幸いです。
  • id:tenkousei
    情報ありがとうございます!
    なるほど。Basis 認証使うのも手ですね。
    この送信元の環境変数って PHP ではどう取得できるのでしょうか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません