これは、Vebra XML Web サービスの使用を簡素化することを目的としたサードパーティの PHP ライブラリです。
API の現在のバージョンはバージョン 9 です。
注意: このライブラリは Vebra とはいかなる関係もありません。
詳細については、ユーザー ガイドまたは Vebra API バージョン 9 スキーマを参照してください。
PHP5.3以上
Buzz の軽量 HTTP リクエスト ライブラリ。
新しいプロジェクトを開始する場合、または既存のプロジェクトで Composer を使用しない場合は、Composer をダウンロードしてインストールします。
curl -s http://getcomposer.org/installer | php
このライブラリを依存関係として含む新しいcomposer.jsonファイルを作成します。
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
プロジェクトですでにコンポーザーを使用している場合は、上に示したように、プロジェクトのcomposer.json ファイルを編集し、このライブラリを依存関係として追加します。
Composer を使用してプロジェクトの依存関係をインストールします。
php composer.phar install
スクリプトまたはブートストラップ コードでコンポーザー オートローダーを要求します。
<?php
require ' vendor/autoload.php ' ;
コンポーザーの詳細については、コンポーザーの Web サイトを参照してください。
Web サービスに対して行われたリクエストは認証される必要があります。最初に、これはユーザー名とパスワードを使用して行われ、Web サービスは承認トークンを返します。このトークンは保存され、後続のすべてのリクエストで使用される必要があります。トークンの保存に失敗した場合、認証トークンの有効期限が切れるまで、Web サービスにそれ以上のリクエストを行うことはできません。認証トークンは約 1 時間有効で、有効期限が切れた認証トークンを使用してリクエストを行うと、Web サービスは 401 (Not Authorized) ヘッダーを返します。この場合、API は自動的に再認証を行い、新しい認証トークンを受け取ります。
この動作を有効にするために、ライブラリには、ローカル ファイル システム上のファイルにトークンを保存およびロードするデフォルトのトークン ストレージ クラスが含まれています。トークンを別の方法 (データベースなど) に保存したい場合は、TokenStorageInterface を実装する必要がある独自のトークン ストレージ クラスを提供できます。
YDDVebraTokenStorageFile のインスタンスを作成するには、ユーザー名と、トークンの保存に使用するディレクトリへのパス (書き込み可能でなければなりません) を渡します。複数のユーザーをサポートするために、各ユーザーは独自のトークン ファイル (ユーザー名のハッシュから派生) を持ちます。
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
この軽量の HTTP リクエスト ライブラリは、Web サービスに HTTP リクエストを送信したり、Web サービスから HTTP レスポンスを返したりするために使用されます。 Buzz にはいくつかのクライアント (FileGetContents/Curl) から選択できますが、将来的には他のクライアントも追加される可能性があります。使用する Buzz クライアントのインスタンスと、BuzzMessageFactory のインスタンス (Response オブジェクトを作成するために API によって使用されます) を作成する必要があります。
必要なパラメータとオブジェクトが揃ったので、API のインスタンスを作成できます。
use YDDVebraAPI as VebraAPI;
use YDDVebraTokenStorageFile as TokenStorageFile;
use BuzzClientCurl as BuzzClientCurl;
use BuzzMessageFactoryFactory as BuzzMessageFactory;
$api = new VebraAPI(
'datafeedid',
'username',
'password',
new TokenStorageFile('username', __DIR__.'/tokens/'),
new BuzzClientCurl(),
new BuzzMessageFactory()
);
すべてのブランチを (ブランチ サマリー オブジェクトの反復可能なコレクションとして) 取得します。
$branchSummaries = $api->getBranches();
ブランチ サマリー オブジェクトを反復処理し、それぞれのブランチ オブジェクトを取得します。
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
返されたブランチ オブジェクトには、各プロパティのアクセサーがあります。
echo $branch->getName();
指定されたブランチのプロパティを (プロパティ概要オブジェクトの反復可能なコレクションとして) 取得します。
$propertySummaries = $api->getPropertyList($branch->getClientId());
プロパティ概要オブジェクトを反復処理し、それぞれのプロパティ オブジェクトを取得します。
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
返されたプロパティ オブジェクトには、各プロパティのアクセサーがあります。
echo $property->getAddress();
指定された日付以降に変更されたプロパティを取得します。
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
指定された日付以降に変更されたファイルを取得します。
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
デイモン・ジョーンズ - [email protected]
マシュー・デイビス [email protected]
Vebra PHP API Wrapper は MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください