カテゴリー内の他の記事

外部APIの実行

Index

外部の API を実行する

kintone から外部の API を実行できます。
外部にファイルをアップロードする際には、「外部にファイルをアップロードする」を参照ください。

  • PC 用とスマートフォン用で利用できます。
  • proxy を通しても、proxy 先のサイトに発行されるべき cookie は自動発行されません。
  • 利用できる Content-Type に制限はありません。

関数

kintone.proxy(url, method, headers, data, successCallback, failureCallback);

引数

パラメータ名 指定する値 必須 説明
url 文字列 必須 リクエスト URL
method 文字列 必須 HTTPメソッド。 GET, POST, PUT, DELETE のいずれかを指定。
headers オブジェクト 必須 リクエストヘッダをオブジェクトで表したものを指定。
何も指定しない場合は {} を指定します。
(例) {'Content-Type': 'application/json'}
data オブジェクトまたは文字列 必須 リクエストに載せるデータ。 何も指定しない場合は {} を指定します。
POST/PUT の場合のみ利用され、GET/DELETE の場合は無視されます。
GET/DELETE の場合、URL の QueryString にパラメータを乗せる必要があります。
successCallback 関数 省略可

proxy 先へのリクエストが完了したときに実行されるコールバック関数。
引数に proxy 先からのレスポンスボディ(文字列)、ステータスコード(数値)、レスポンスヘッダ(オブジェクト)を受け取ります。
省略した場合は kintone.Promise オブジェクトが返され、レスポンスボディ(文字列)、ステータスコード(数値)、レスポンスヘッダ(オブジェクト)が格納された配列で解決されます。

failureCallback 関数 省略可

proxy API へのリクエストが失敗したときに実行されるコールバック関数。
引数に proxy 先からのレスポンスボディ(文字列)を受け取ります。
省略した場合は kintone.Promise オブジェクトが返され、proxy API のレスポンスボディ(文字列)で棄却されます。

返り値

引数の successCallback を省略した時、kintone.Promise オブジェクトを返します。
参考: イベントハンドラを登録する

successCallback を指定した場合、返り値はありません。

サンプル

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

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

注意事項

  • url で存在しないサーバーを指定した場合、レスポンスはステータスコード「503」(DNS Cache Missing)のエラーとなります。
  • テスト環境等で、IP 制限をしている環境で接続元ドメイン内の別アプリにアクセスする場合は、以下のページに記載の IP アドレスを許可することでアクセス可能となります。

kintone よくある質問
http://faq.cybozu.info/alphascope/cybozu/web/kintone/Detail.aspx?id=60

※ ただし kintone.proxy を利用して外部から自由にアクセス可能となるため、セキュリティの観点から推奨されません。接続元ドメインへのアクセスについては kintone.api をご利用ください。

制限事項

  • proxy 先が返すレスポンスヘッダの上限は 100 行となり、1 行あたりの最大長は 8192bytes です。
  • proxy 先が返すレスポンスボディの上限は 10MB です。
  • 上限を超えた場合はエラーとなります。
  • 自己証明書を使ったサーバーとの通信はできません。
  • HTTP メソッドに POST/PUT のいずれかを指定した場合、"Content-Length"ヘッダと"Transfer-Encoding"ヘッダは、内部的に自動で付加されるため、ユーザーからのリクエスト時に手動で設定することはできません。設定するとエラーが発生します。

外部にファイルをアップロードする

kintone から外部にファイルをアップロードできます。

  • PC 用とスマートフォン用で利用できます。
  • proxy を通しても、proxy 先のサイトに発行されるべき cookie は自動発行されません。
  • 利用できる Content-Type に制限はありません。

関数

kintone.proxy.upload(url, method, headers, data, successCallback, failureCallback);

引数

パラメータ名 指定する値 必須 説明
url 文字列 必須 リクエストURL
method 文字列 必須 HTTP メソッド。 POST, PUT のいずれかを指定。
headers オブジェクト 必須 リクエストヘッダをオブジェクトで表したものを指定。
何も指定しない場合は{}を指定します。
(例) {'Content-Type': 'application/json'}
data オブジェクト 必須 リクエストに載せるデータ。
{
    'format': proxy 先へデータをアップロードするときのフォーマット,
    'value': アップロードするデータ
}
format は文字列で、"RAW" のみ指定できます。
value は Blob 型 (File 型を含む) の値。value のサイズは 200MB までです。
successCallback 関数 省略可

proxy 先へのリクエストが完了したときに実行されるコールバック関数。
引数に proxy 先からのレスポンスボディ(文字列)、ステータスコード(数値)、レスポンスヘッダ(オブジェクト)を受け取ります。
省略した場合は kintone.Promise オブジェクトが返され、レスポンスボディ(文字列)、ステータスコード(数値)、レスポンスヘッダ(オブジェクト)が格納された配列で解決されます。

failureCallback 関数 省略可

proxy API へのリクエストが失敗したときに実行されるコールバック関数。
引数に proxy 先からのレスポンスボディ(文字列)を受け取ります。
省略した場合は kintone.Promise オブジェクトが返され、proxy API のレスポンスボディ(文字列)で棄却されます。

返り値

引数の successCallback を省略した時、kintone.Promise オブジェクトを返します。
参考: イベントハンドラを登録する

suncessCallback を指定した場合返り値はありません。

サンプル

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

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

注意事項

  • url で存在しないサーバーを指定した場合、レスポンスはステータスコード「503」(DNS Cache Missing)のエラーとなります。

制限事項

  • proxy 先が返すレスポンスヘッダの上限は 100 行となり、1 行あたりの最大長は 8192bytes です。
  • proxy 先が返すレスポンスボディの上限は 10MB です。
  • 上限を超えた場合はエラーとなります。
  • 対象ブラウザは、Internet Explorer11、最新の Firefox、最新の Chrome、最新の Safari、最新の iOS Safari、最新の Android Chrome となります。
  • 自己証明書を使ったサーバーとの通信はできません。
  • "Content-Length"ヘッダと"Transfer-Encoding"ヘッダは、内部的に自動で付加されるため、ユーザーからのリクエスト時に手動で設定することはできません。設定するとエラーが発生します。

関連 Tips

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

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

サインインしてコメントを残してください。