ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changes between Version 3 and Version 4 of pne-api


Ignore:
Timestamp:
Sep 20, 2007, 9:45:58 PM (12 years ago)
Author:
yoshi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pne-api

    v3 v4  
    44
    55外部からOpenPNEのデータを取得できたり、操作するためのAPIを開発するプロジェクトです。
    6 ニーズのありそうなAPIを開発し、ゆくゆくは数を増やしていくことを目標にします。
     6ニーズのありそうなAPIを開発し、将来的には数を増やし整備していくを目標にします。
    77
    88* [http://openpne.jp/?m=pc&a=page_c_home&target_c_commu_id=509 API開発コミュニティ]
    99
     10== ブランチ ==
     11 * ブランチは https://trac.openpne.jp/svn/OpenPNE/branches/prj/pne-api
     12 * 現在2.8.2ベースで開発中です。2.10には5個程度のAPIを追加できそうな予定です。
     13
     14== 開発方針 ==
     15■APIプログラム配置ディレクトリ
     16webapp\modules\api\lib\xmlrpc\
     17
     18
     19■名前
     20prefix_数字(3桁)_動作概要.php
     21
     22例:
     23コミュニティを作成する場合
     24com_001_create_community.php
     25
     26数字は通し番号で管理する(管理方法は要検討)
     27
     28■prefix
     29動作に関連するprefixを選択する
     30
     31au - 認証
     32as - あしあと
     33ba - バナー
     34bo - ブックマーク
     35com - コミュニティ
     36di - 日記
     37fr - フレンド
     38im - 画像
     39mem - メンバ
     40mes - メッセージ
     41po - ポイント
     42ra - ランキング
     43re - レビュー
     44sce - スケジュール
     45
     46
     47■API追加手順
     48
     49(1)webapp\modules\api\lib\xmlrpc\ に prefix_数字(3桁)_動作概要.php を作成する
     50(2)DBのテーブル c_api に以下のデータをinsertする
     51
     52c_api_id:数字(シーケンシャル)
     53name:APIの名前
     54ip:呼び出し元のIPアドレス
     55
     56*APIは許可されたIPアドレスからしかアクセスできない
     57*http://ホスト/?m=admin&a=page_list_c_api からも設定可能
     58
     59
     60■API の内部処理
     61(1)パラメータのvalidateチェック
     62(2)パラメータに従いデータをDBから検索・更新
     63        (2-1)対応するSQLメソッドが webapp/lib/db 以下のファイルに
     64                存在する可能性が高いので調べてみる
     65
     66        (2-2)存在すればSQLメソッドを webapp\lib\OP.php(新設) にコピーし定義する
     67                この時、メソッド名は次のように変更する
     68
     69                db_ashiato_c_ashiato_list4c_member_id
     70                        ↓
     71                op_ashiato_c_ashiato_list4c_member_id
     72
     73                *OP.php内では OPクラスを定義し、全メソッドをstaticメソッドとして定義する
     74                *この点はwebapp/lib/db 以下のファイルと異なる
     75
     76        (2-3)webapp/lib/db に存在しなければ、op.php にメソッドを追加する
     77
     78        (2-4)(2-2,3)で追加したメソッドをAPI内部から呼ぶ
     79       
     80
     81(3)検索・更新したデータをレスポンスとして返却
     82
     83*op.phpへコピーする理由
     84webapp/lib/db 以下のメソッドは仕様変更が発生する可能性がある。
     85これとは別に仕様を固定したメソッドを作成し、
     86ブラウザ、API双方から呼び出せるような仕組みを取り入れたい。
     87これに対応するため webapp\lib\op\op.php を追加する。
     88
     89まずは、APIで使用するメソッドを随時 op.php に再定義することでメソッドの数を増やしていく。
     90
     91詳細は以下に記載
     92http://trac.openpne.jp/wiki/pne-framework - op_関数の新設に従う