他のプログラミング言語で呼び出したり,Webページに埋め込んだりできるクラウドAPIとして,Wolfram言語の関数を使用できるようにする.
APIFunctionを作成する
2つの都市間の距離を返すAPIFunctionを作成する.以下の例では,TravelDistanceはQuantityを返す.QuantityMagnitudeをその結果に適用すると,数値のみを抽出することができる.数値のみの方がQuantityよりも外部プログラムで処理しやすい:
APIFunctionをWolfram Cloudに配備する
誰でもAPIを使用できるようにPermissions->"Public"と設定し,関数をクラウドに配備する:
ブラウザからAPIをテストする
ブラウザから呼び出し,APIが期待通りに作動するかどうかを確かめる.APIを呼び出すURLを構築するためには,CloudDeployのCloudObject出力でURLを右クリックし,「アドレスをコピー」を選ぶ:
アドレスをブラウザの検索フィールドにペーストし,「?city1=Chicago&city2=Miami」のように,疑問符(?),アンパサンド(&)で区切ったパラメータの名前と値を続ける:
APIをWolfram言語ではない言語から呼び出す
APIをPythonから呼び出すためのコードを得る:
埋込みコードをPythonスクリプトにペーストする:
Pythonスクリプトを実行する:
$ ./APITest.py
1378.25516483735
注釈
パラメータは,国,通貨,色,日付,電子メールアドレスを含む,どのInterpreterタイプでもよい.
結果を返すときに,APIがどの形式を使うべきかを指定することができる:
Wolfram言語からAPI関数をプログラムで呼び出すためには,APIの引数をリストで与え,URLExecuteを使う:
- HTTP POSTのリクエストには,URLExecuteではなく,HTTPRequestをMethod "POST"と指定して使う.
APIにより簡略なURLを与えるためには,CloudObjectの名前を配備で指定する:
APIに短いURLを与えるためには,URLShortenを使う:
配備されたAPIFunctionはWebページに埋め込み,関数の返すものがレンダリングされた際にページ内に挿入されるようにすることができる.
ある都市の現地時刻を表示する時計を返すAPIFunctionを作る:
埋込みコードをHTMLドキュメントに挿入し,APIFunctionパラメータを_embed=iframeの後に加える:
APIには,AllowedCloudExtraParametersを使って,計算リソースに制限を付けたり,別のエキスポート形式を指定したり,デバッグ情報を返したりするパラメータを加えることができる.
AllowedCloudParameterExtensionsで,入力にさまざまな出典情報や異なるシンタックスをAPIに使うことができる.