カテゴリー内の他の記事

kintone REST API リクエスト

フォローする

Index

kintone REST APIリクエストを送信する

GET, POST, PUT, DELETEメソッドが指定できる kintone REST APIで利用できます。

  • PC用とスマートフォン用で利用できます。
  • ファイルのアップロード、ダウンロードはできません。 これらを利用する際には、CSRFトークンを取得して、HTTPリクエストで実行してください。
  • 本APIは非同期リクエストとなります。同期的に処理したい場合はこちらのTipsをご参照ください。

関数

kintone.api(pathOrUrl, method, params, callback, opt_errback)

引数

パラメータ名 指定する値 必須 説明
pathOrUrl 文字列 必須 kintone REST APIのパスもしくは、kintone.api.urlで取得したURLを指定します。 例) APIのURLが https://(サブドメイン名).cybozu.com/k/v1/xxx.json の場合は、"/k/v1/xxx" を指定します。 ゲストスペース内アプリでも動作させる場合は、kintone.api.url("/k/v1/xxx", true)を指定してください。
method 文字列 必須 使用するHTTPメソッド。 GET,POST,PUT,DELETEが指定可能です。
params オブジェクト 必須 APIに渡すパラメータをオブジェクトで指定します。
callback 関数 省略可

APIの呼び出しが成功したら実行されるコールバック関数です。 引数の型はオブジェクトになります。
省略した場合はkintone.Promiseオブジェクトが返され、callbackに渡す引数で解決されます。

errback 関数 省略可

APIの呼び出しが失敗したら実行されるコールバック関数です。 引数にはレスポンスJSONが渡されます。 レスポンスがJSONとしてパースできなかった場合は、パース前の文字列が渡されます。
callbackを省略した場合はkintone.Promiseオブジェクトが返され、errbackに渡す引数で棄却されます。

返り値

引数のcallbackを省略した時、kintone.Promiseオブジェクトを返します。
callbackを指定した場合返り値はありません。

 

利用できる画面

  • 全ての画面(アプリ、スペースも含まれます)

サンプル

コールバックを使用した記述方法

kintone.Promiseオブジェクトを使った記述方法

URL を取得する(クエリ文字列無し)

省略した形式の API のパスから、URL を生成します。

  • PC用とスマートフォン用で利用できます。

関数

kintone.api.url(path,detectGuestSpace)

引数

パラメータ名 指定する値 必須 説明
path 文字列 必須 kintone REST APIのパスを/で始まる文字列で指定します。 例)APIのURLが https://(サブドメイン名).cybozu.com/k/v1/xxx.jsonの場合は、"/k/v1/xxx" を指定します。
opt_detectGuestSpace 真偽値 省略可 ゲストスペース内でtrueを指定する場合、kintone REST APIの実行に必要なゲストスペース用のURIが返されます。デフォルトはfalseです。

返り値

URL 文字列。

利用できる画面

  • 全ての画面(アプリ、スペースも含まれます)

サンプル

URL を取得する(クエリ文字列付き)

API のパスとパラメータを受け取ってクエリ文字列付きの URL を生成します。

  • PC用とスマートフォン用で利用できます。

関数

kintone.api.urlForGet(path, params,opt_detectGuestSpace)

引数

パラメータ名 指定する値 必須 説明
path 文字列 必須 kintone REST APIのパスを/で始まる文字列で指定します。 例) APIのURLが https://(サブドメイン名.cybozu.com/k/v1/xxx.jsonの場合は、"/k/v1/xxx" を指定します。
params オブジェクト 必須 パラメータをオブジェクトで指定します。
opt_detctGuestSpace 真偽値 省略可 ゲストスペース内でtrueを指定する場合、kintone REST APIの実行に必要なゲストスペース用のURIが返されます。デフォルトはfalseです。

返り値

クエリ文字列が付与され、パラメータが URL エンコードされた URL 文字列。

// パラメータにオブジェクトや配列が渡された場合、クエリ文字列は以下のように展開されます。
// params = {foo: 'bar', record: {key: ['val1', 'val2']}}
foo=bar&record.key[0]=val1&record.key[1]=val2

利用できる画面

  • 全ての画面(アプリ、スペースも含まれます)

サンプル

CSRFトークンの取得

HTTPメソッドが POST, PUT, DELETE である APIすべてにおいて利用できます。

  • PC用とスマートフォン用で利用できます。
  • HTTPメソッドが GET のAPIでは CSRFトークンは不要です。

関数

kintone.getRequestToken()

引数

なし

返り値

文字列

利用できる画面

  • 全ての画面(アプリ、スペースも含まれます)

有効期間

最終アクセス時間から 86400秒(1日)

サンプル

APIがパラメータをクエリで受け付ける場合の例

https://(サブドメイン名).cybozu.com/k/v1/records.json?__REQUEST_TOKEN__=72A0C9714B6E1C086D24BBC11A5C3508

APIがパラメータをリクエストボディで受け付ける場合の例

以下のリクエストヘッダをAPI実行時に指定します。

ヘッダー名 内容
X-Requested-With XMLHttpRequest
Content-Type application/json

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
井ノ内勢二郎

わかりずらすぎ

Avatar
kyohei-kitagawa

井ノ内勢二郎様

コメントいただきありがとうございます。
ドキュメントの改善に努めたいと思いますので、もし可能でしたらどういった点が分りずらいかお伝えいただくことはできますか?

Avatar
植田達郎

GET, POST, PUT, DELETE それぞれについてサンプルコードが欲しいです。GETの例にしてもrecord_noはアプリで定義したパラメータであることが書かれておらず動かすのに苦慮しました。また、JavaScript APIがREST APIの上に乗っていることも明記されておらず、現在POSTするコードを書いているのですが両方のページを行ったり来たりして試行錯誤中です。APIの設計は良いと思うので、ぜひそれに見合ったドキュメントを付けて下さい。

Avatar
吉岡 三四郎

REST APIを実行する際にアプリIDを指定しますが、アプリコードなどからアプリを指定してGETやPOSTを行うことは可能でしょうか?
(例)
https://xxxxxxx.cybozu.com/k/v1/records.json?app=889&id=100
https://xxxxxxx.cybozu.com/k/v1/records.json?app=(アプリコードなど)&id=15

Avatar
cw-worker

kintone.api()に直接記述することと、
kintone.api.urlForGet()の返り値をkintone.api()のpathOrUrlに指定することは どのように使い分けるべきでしょう。
推奨等はありますか?

cw-workerにより編集されました
Avatar
カキ氷

吉岡 三四郎さん

たしかGETはURLにappidとid指定すればいけますが、POSTはムリだったと思います。

Avatar
カキ氷

尾浦 俊行さん

コードの可読性的に(個人の好みになっちゃいますが) kintone.api()のparamsに記載するほうがわかりやすいなーと思います

Avatar
ナカゴウユイエ

こちらのAPIは非常に使いやすいのですが、非同期メソッドであることを明記して欲しいです。

Avatar
kyohei-kitagawa

ナカゴウユイエさん
cybozu.com developer network事務局です。
ありがとうございます。確かに追記したほうがよさそうですね。
同期処理の場合以下のようなTipsもありますので、ご参照ください。

https://cybozudev.zendesk.com/hc/ja/articles/204564604

Avatar
kyohei-kitagawa

↑ということで追記致しました。

Avatar
ナカゴウユイエ

は、早い…!素早いご対応ありがとうございます。また、2015年7月に実装された同期処理の頁の紹介、非常に助かります。こちらも合せてお礼を申し上げます。

Avatar
i9yosimo

下記の点をご教示ください。
Q.kintone.apiを利用したGETメソッドの場合、ユーザー認証は不要でしょうか?
Q.CSRFトークンを利用したPOST, PUT, DELETEメソッドのサンプルコードを教えてください。

ログインしてコメントを残してください。
Powered by Zendesk