PCAクラウド Web-API for kintone Javascript API
プラグイン「PCAクラウド Web-API for kintone」を追加したアプリは以下の関数が使用できます。
関数名 | 同期/非同期 | 説明 |
---|---|---|
pca.webapi.hasAccess | 同期 | アクセストークンが有効かを取得します。 |
pca.webapi.login | 非同期 | PCAクラウド Web-API にログインします。 |
pca.webapi.logout | 非同期 | PCAクラウド Web-API からログアウトします。 |
pca.webapi.getLogOnUser | 非同期 | ログイン中のユーザー情報を取得します |
pca.webapi.getLogOnDataArea | 非同期 | ログイン中のデータ領域情報を取得します。 |
pca.webapi.findDataArea | 非同期 | ログイン中のユーザーが使用可能なデータ領域を取得します。 |
pca.webapi.selectDataArea | 非同期 | 使用するデータ領域を変更します。 |
pca.webapi.send | 非同期 | Web-API を実行します。 |
保持するアクセストークンが有効かを取得する
保持するアクセストークンが有効かを取得します。
返り値が false の場合はログイン (pca.webapi.login) が必要です。
関数
pca.webapi.hasAccess()
引数
なし
返り値の例
true
サンプルコード
var result = pca.webapi.hasAccess();
console.log(result);
ログイン
PCAクラウド Web-API にログインします。
OAuth 2.0 認可コードグラントで PCAクラウド Web-API のアクセストークン、リフレッシュトークン等を取得し、localStorage に保存します。
以下の関数 getLogOnUser, getLogOnDataArea, findDataArea, selectDataArea, send はこのアクセストークンを使用します。
アクセストークンの有効期限が切れている場合は自動的にトークンのリフレッシュが行われます。
ログインの実行に必要な認証情報は、事前にプラグインの設定で設定して下さい。
Web-API の実行に必要な認証情報のうち秘密にする情報 (認証ユーザーIDなど) はアプリの利用者からはアクセスできないようになっています。
詳細は次の項目を参照して下さい。
関数
pca.webapi.login(dataAreaName, callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
dataAreaName | 文字列 | 省略可 | ログイン後に選択するデータ領域名 (例: 'P20V01C001KON0001'). null または 空文字列を指定した場合はデータ領域を選択しません。別途 pca.webapi.selectDataArea() を実行してください。 |
callback | function() | 省略可 | リクエストが完了したあとに実行する関数を指定します。 省略した場合は kintone.Promise オブジェクトが返され解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
if (!pca.webapi.hasAccess()) {
pca.webapi.login('P20V01C001KON0001', function() {
console.log('success');
}, function(reason) {
console.log(reason);
})
}
ログアウト
PCAクラウド Web-API からログアウトします。
関数
pca.webapi.logout(callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
callback | function() | 省略可 | リクエストが完了したあとに実行する関数を指定します。 省略した場合は kintone.Promise オブジェクトが返され解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
pca.webapi.logout(function() {
console.log('success');
}, function (error) {
console.log(error);
});
ログイン中のユーザー情報を取得
ログイン中のユーザー情報を取得します。
関数
pca.webapi.getLogOnUser(callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
callback | function(Object result) | 省略可 | リクエストが完了したあとに実行する関数を指定します。 関数の引数にはオブジェクト (BECommonSystemUser) が渡されます。 省略した場合は kintone.Promise オブジェクトが返され、オブジェクト (BECommonSystemUser) で解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
pca.webapi.getLogOnUser(function(result) {
console.log(result);
}, function (error) {
console.log(error);
});
出力結果例
{"UserId":"guest","Name":"ゲストユーザー","UserLevel":"Normal","CreateTime":"2015-12-09T18:07:31.149","UpdateTime":"2015-12-09T18:07:31.149"}
ログイン中のデータ領域情報を取得
ログイン中のデータ領域情報を取得します。
関数
pca.webapi.getLogOnDataArea(callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
callback | function(Object result) | 省略可 | リクエストが完了したあとに実行する関数を指定します。 関数の引数にはオブジェクト (BECommonDataArea) が渡されます。 省略した場合は kintone.Promise オブジェクトが返され、オブジェクト (BECommonDataArea) で解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
pca.webapi.getLogOnDataArea(function(result) {
console.log(result);
}, function (error) {
console.log(error);
});
出力結果例
{"Name":"P20V01C001KON0001","DataVersion":"1.35","CompanyCode":"0001","CompanyName":"筋斗雲株式会社","CompanyKana":"キントウンカブシキガイシャ","CompanyTerm":"0","CompanyTermStart":"0","CompanyTermEnd":"0","CompanyType":"0","CompanyKoyomi":null,"CompanyInt1":"0","CompanyInt2":"0","CompanyInt3":"20000101","CompanyInt4":"0","CompanyInt5":"0","CompanyString1":"筋斗雲株式会社","CompanyString2":null,"CompanyString3":null,"CompanyString4":null,"CompanyString5":null,"CompanyDescription":"kintone連携用データ領域です。","CompanyChainId":"fa178a56-7499-44df-4a79-62bea5271fc7","Status":"Healthy","StatusDescription":null,"UpdateTime":"2016-03-10T15:49:09.579"}
ログイン中のユーザーが使用可能なデータ領域を取得
ログイン中のユーザーが使用可能なデータ領域を取得します。
関数
pca.webapi.findDataArea (callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
callback | function(Object result) | 省略可 | リクエストが完了したあとに実行する関数を指定します。 関数の引数にはオブジェクト (BECommonDataArea の配列) が渡されます。 省略した場合は kintone.Promise オブジェクトが返され、オブジェクト (BECommonDataArea の配列) で解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
pca.webapi.findDataArea(function(result) {
console.log(result);
}, function (error) {
console.log(error);
});
出力結果例
[{"Name":"P20V01C001KON0001","DataVersion":"1.35","CompanyCode":"0001","CompanyName":"筋斗雲株式会社","CompanyKana":"キントウンカブシキガイシャ","CompanyTerm":"0","CompanyTermStart":"0","CompanyTermEnd":"0","CompanyType":"0","CompanyKoyomi":null,"CompanyInt1":"0","CompanyInt2":"0","CompanyInt3":"20000101","CompanyInt4":"0","CompanyInt5":"0","CompanyString1":"筋斗雲株式会社","CompanyString2":null,"CompanyString3":null,"CompanyString4":null,"CompanyString5":null,"CompanyDescription":"kintone連携用データ領域です。","CompanyChainId":"fa178a56-7499-44df-4a79-62bea5271fc7","Status":"Healthy","StatusDescription":null,"UpdateTime":"2016-03-10T15:49:09.579"}]
データ領域の変更
使用するデータ領域を変更します。
関数
pca.webapi.selectDataArea(dataAreaName, callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
callback | function() | 省略可 | リクエストが完了したあとに実行する関数を指定します。 省略した場合は kintone.Promise オブジェクトが返され解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
pca.webapi.findDataArea()
.then(function (result) {
console.log(result);
return pca.webapi.selectDataArea(result[0].Name);
})
.then(function () {
console.log('データ領域を選択しました: ' + pca.webapi.dataarea_name);
})
Web-API を実行する
PCAクラウド Web-API にリクエストを送信し、レスポンスを受信します。
関数
pca.webapi.send(url, method, headers, data, callback, error)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
uri | 文字列 | 必須 | 実行する Web-API のURI (例: "/Find/MasterSms?Code=0001") |
method | 文字列 | 必須 | HTTPメソッド。GET, POSTのいずれかを指定 |
headers | オブジェクト | 必須 | リクエストヘッダを指定します。 何も指定しない場合は {} を指定します。 Content-Type, Accept を指定しない場合の規定値は 'application/json' になります。 |
data | オブジェクトまたは文字列 | 必須 | リクエストに載せるデータ。 何も指定しない場合は {} を指定します。 |
callback | function([String responseText, Number httpStatusCode, Object responseHeaders]) | 省略可 | リクエストが完了したあとに実行する関数を指定します。 関数の引数には次の3つの情報が格納された配列が渡されます。 ・第一引数: レスポンスボディ (文字列) ・第二引数: HTTPステータスコード (数値) ・第三引数: レスポンスヘッダ (オブジェクト) 省略した場合は kintone.Promise オブジェクトが返され、上記の配列で解決されます。 |
error | function(String error) | 省略可 | リクエストが失敗した場合に実行する関数を指定します。 関数の引数にはエラー情報(文字列)が渡されます。 callback を省略した場合は kintone.Promise オブジェクトが返され、エラー情報(文字列)で棄却されます。 |
返り値
引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。
サンプルコード
- GET の例
pca.webapi.send('/Find/MasterSms?Code=1001', 'GET', {}, {})
.then(function (args) { // args[0]: responseBody, args[1]: httpStatusCode, args[2]: headers
var res = JSON.parse(args[0]);
if (args[1] != 200) {
return kintone.Promise.reject(res.Message);
}
console.log(res);
})
.catch(function (error) {
console.log(error);
});
- POST の例
pca.webapi.send('/FindByCondition/MasterSms', 'POST', {}, {
BEMasterSmsCondition: {
SyohinCode: '1001'
}
})
.then(function (args) { // args[0]: responseBody, args[1]: httpStatusCode, args[2]: headers
var res = JSON.parse(args[0]);
if (args[1] != 200) {
return kintone.Promise.reject(res.Message);
}
console.log(res);
})
.catch(function (error) {
console.log(error);
});
出力結果例 (GET, POST とも)
{"ArrayOfBEMasterSms":{"BEMasterSms":[{"BEVersion":"4","SyohinCode":"1001","SyohinMei":"甘納豆 1箱入り","SyohinMei2":null,"SyohinCode2":null,"SyohinCode3":null,"SyohinKubun1":"0000","SyohinKubun2":"0000","SyohinKubun3":"0000","SyohinKubun4":"0000","SyohinKubun5":"0000","Tani":null,"Irisu":"0.0000","KikakuKataban":null,"Color":null,"Size":null,"SokoCode":"0000","SyuShiresaki":null,"HyojunKakaku":"945.0000","Genka":"0.0000","Baika1":"0.0000","Baika2":"0.0000","Baika3":"0.0000","Baika4":"0.0000","Baika5":"0.0000","ShireTanka":"0.0000","ZaikoTanka":"0.0000","SystemKubun":"0","MasterKubun":"0","ZaikoKanri":"0","JissekiKanri":"0","ZeiKubun":"2","ZeikomiKubun":"0","TankaKeta":"0","SuryoKeta":"0","SyohinKomoku1":"0.0000","SyohinKomoku2":"0.0000","SyohinKomoku3":"0.0000","UriageKeisan":"0","ShireKeisan":"0","ShiyoKubun":"0","TorokuUser":"4","TorokuProgram":"C1X00","Torokubi":"2015-09-30T10:23:57","KosinUser":"2","KosinProgram":"C1X00","Kosinbi":"2015-12-14T17:26:43.844","SyohinYobiShort1":"0","SyohinYobiShort2":"0","SyohinYobiShort3":"0","SyohinYobiInt1":"0","SyohinYobiInt2":"0","SyohinYobiInt3":"0","SyohinYobiDecimal1":"0.0000","SyohinYobiDecimal2":"0.0000","SyohinYobiDecimal3":"0.0000","SyohinYobiString1":null,"SyohinYobiString2":null,"SyohinYobiString3":null,"TankaTorokuUser":"4","TankaTorokuProgram":"C1X00","TankaTorokubi":"2015-09-30T10:23:57","TankaKosinUser":"2","TankaKosinProgram":"C1X00","TankaKosinbi":"2015-12-14T17:26:43.805","TankaYobiShort1":"0","TankaYobiInt1":"0","TankaYobiDecimal1":"0.0000","IrisuKeta":"0","HakosuKeta":"0","SuryoHasu":"0","YukoKikanKaishi":"0","YukoKikanSyuryo":"0","Comment":null}]}}