使 Wolfram 语言函数可被用作云端 API,可以从其他编程语言中调用或嵌入到网页上.

创建一个 APIFunction

创建一个返回两个城市之间距离的 APIFunction. 在这个例子中,TravelDistance 返回 Quantity. 对结果应用 QuantityMagnitude,将数值提取出来,与 Quantity 相比,外部程序更容易处理:

把 APIFunction 部署到 Wolfram Cloud

把函数部署到云端,同时设置 Permissions->"Public",使得每个人都可以使用 API:

用浏览器测试 API:

通过从浏览器调用 API 来验证 API 是否正常工作. 如果想要构建调用 API 的 URL,请右键单击 CloudDeployCloudObject 输出中的 URL,然后选择 复制地址

把地址粘贴到浏览器的搜索栏,在末尾加上问号 (?),然后是参数名称和值,用与符号 (&) 分开例如:"?city1=Chicago&city2=Miami"

从非 Wolfram 语言调用 API

获取从 Python 调用 API 的代码:

把嵌入代码粘贴到 Python 脚本:

运行 Python 脚本:

$ ./APITest.py 
1378.25516483735

技术要点

用你的云积分调用部署到你的帐户内的 API.
参数可以是任意 Interpreter 类型,包括国家、货币、颜色、日期和 email 地址.
可以指定 API 返回结果时使用的格式:
如果想要从 Wolfram 语言中以编程方式调用 API 函数,请使用 URLExecute,并在列表中给出 API 参数:
如果想要 API 的 URL 更容易被记住,在部署中指定一个 CloudObject 名称:
可以将 URL 中的user-xxxxxxxx -...- xxxxxxxxxxxx替换为你的 Wolfram Cloud 帐户名称,以方便记住和输入:
如果想要使 API 的 URL 短一些,可以使用 URLShorten
短的 URL 和原来的一样:
一个已部署的 APIFunction 可以被嵌入到网页中,以便呈现时,它返回的内容被插入到页面中.
生成 APIFunction,返回显示一个城市的本地时间的钟表:
获取从 HTML(默认)调用 API 的嵌入代码:
把嵌入代码插入到 HTML 文档中,并在 _embed=iframe 后面加上 APIFunction 参数:
所得网页:
API 允许使用对计算资源设限的参数、指定不同的导出格式或用 AllowedCloudExtraParameters 返回调试信息.
API 允许使用 AllowedCloudParameterExtensions 从各种源和不同的语法得到输入.