-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Takuro Hishikawa edited this page Jan 15, 2024
·
5 revisions
Kintone APIへの接続に必要なのは、cybozu.com のサブドメインと、APIトークンです。この2つを \Kintone\Request
クラスに渡すと準備完了です。
// サブドメイン
$subdomain = '012ab';
// APIトークン
$apitoken = 'BuBNIwbRRaUvr33nWXcfUZ5VhaFsJxN0xH4NPN92';
// 初期設定
$request = new \Kintone\Request($subdomain,$apitoken);
作成した \Kintone\Request
インスタンスを \Kintone\Base
インスタンスに渡すことで、APIとのやりとりが可能になります。APIの指定は、setResource()
メソッドで行ないます。APIのURIが
https://(サブドメイン名).cybozu.com/k/v1/app.json
の場合は、app
を指定します。
リクエストヘッダはSDKが処理しますので、気にする必要はありません。
リクエストボディは配列で指定します。
$obj = new \Kintone\Object($request);
// APIの指定
$obj->setCommand('app');
// 配列でパラメーターを指定して GET リクエストを送信
$appID = 1;
$res = $obj->get(['id' => $appID]);
APIのリクエストに失敗した場合は、 GuzzleException
クラスの例外が発生します。
レスポンスからプロパティを取得するには、getValue()
メソッドを使います。プロパティ名の先頭を大文字にして先頭に get
を追加した短縮メソッドでも取得できます。
// アプリ名 "name" の表示
echo $res->getValue('name');
// この書き方でも "name" プロパティの値を取得できる
echo $res->getName();
// アプリの説明 "description" の表示
echo $res->getDescription();
URIごとにショートカット用のクラスが用意されています。アプリ情報の取得であれば \Kintone\App\App
クラスです。
$appID = 1;
$app = new \Kintone\App\App($request);
$res = $app->getByID($appID);
$res->getName();
メソッドチェインを用いてさらに簡略に記述することもできます。
echo (new \Kintone\App\App(new \Kintone\Request($subdomain,$apitoken)))->getByID(1)->getName();
その他のクラスについては、各Wikiページをご覧ください。