外部の API を実行する
kintone から外部サービスの API を実行します。
この API を利用すると、クロスドメイン制約を回避して、外部 API にリクエストを送信できます。
外部にファイルをアップロードする際には、
外部にファイルをアップロードする を参照してください。
関数
PC/モバイル
kintone.proxy(url, method, headers, data, successCallback, failureCallback)
引数
引数 | 型 | 必須 | 説明 |
---|---|---|---|
url | 文字列 | 必須 | 実行する API の URL |
method | 文字列 | 必須 | API の実行に使用する HTTP メソッド 次のいずれかの値を指定します。
|
headers | オブジェクト | 必須 | リクエストヘッダー 例: {何も指定しない場合は {} を指定してください。 |
data | オブジェクトまたは文字列 | 必須 | リクエストボディ 何も指定しない場合は {} を指定してください。HTTP メソッドに POST や PUT を指定したときだけ送信されます。 HTTP メソッドが GET や DELETE のリクエストで、リクエストボディを指定したい場合には、 url のクエリ文字列として指定してください。 |
successCallback | 関数 | 省略可 | リクエストが完了したときに実行されるコールバック関数 コールバック関数の引数には、次の情報が渡されます。
kintone.Promise オブジェクト が返り、レスポンスボディ、ステータスコード、レスポンスヘッダーが格納された配列で解決されます。 |
failureCallback | 関数 | 省略可 | リクエストが失敗した時に実行されるコールバック関数 省略すると、 kintone.Promise オブジェクト が返り、プロキシ API のレスポンスボディ(文字列)で棄却されます。 |
戻り値
successCallback
を指定した場合、戻り値はありません。
引数の successCallback
を省略した場合、
kintone.Promise
オブジェクト が返ります。
サンプルコード
コールバックを使った記述方法
|
|
kintone.Promise オブジェクトを使った記述方法
|
|
注意事項
- 利用できる「Content-Type」に制限はありません。
url
に存在しないサーバーを指定すると、ステータスコードが 503(DNS Cache Missing)のエラーが返ります。- テスト環境など
IP アドレス制限
を設定している場合、この API を使って別のアプリに対して kintone REST API を実行するには、cybozu.com のサービスで利用している IP アドレスを許可してください。
cybozu.com のサービスで利用している IP アドレスは、 cybozu.comが使用するドメインとIPアドレスを参照してください。
ただし、どの kintone 環境からも自由にアクセスできるようになるため、セキュリティの観点から推奨していません。
同じ kintone 環境に対して kintone REST API を実行する場合には、 kintone REST API リクエストを送信する API を使用してください。
制限事項
- この API を使って外部の API を実行しても、実行した API 先で発行されるべき Cookie は、自動で発行されません。
- 実行する外部 API のレスポンスヘッダーの上限は、100 行で、1 行あたりの最大長は 8,192bytes です。
- 実行する外部 API のレスポンスボディは、文字列のみ対応しています。画像などのバイナリデータは取得できません。
- 実行する外部 API のレスポンスボディの上限は 10MB です。上限を超えるとエラーになります。
- 自己証明書を使ったサーバーとの通信はできません。
- HTTP メソッドに POST または PUT を指定した場合、「Content-Length」ヘッダーと「Transfer-Encoding」ヘッダーは、自動で付加されます。
headers
に明示的に設定すると、エラーが発生します。