【发布时间】:2020-12-30 04:32:59
【问题描述】:
假设我创建了 Twilio。下面是他们的警报 API
https://www.twilio.com/docs/usage/monitor-alert:
从https://www.twilio.com/docs/python/install下载帮助库
import os
from twilio.rest import Client
来自 twilio.com/console 的帐户 Sid 和身份验证令牌 并设置环境变量。见http://twil.io/secure
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)
alert = client.monitor.alerts('NOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch()
print(alert.alert_text)
JSON API 响应示例:
{
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"alert_text": "alert_text",
"api_version": "2010-04-01",
"date_created": "2015-07-30T20:00:00Z",
"date_generated": "2015-07-30T20:00:00Z",
"date_updated": "2015-07-30T20:00:00Z",
"error_code": "error_code",
"log_level": "log_level",
"more_info": "more_info",
"request_method": "GET",
"request_url": "http://www.example.com",
"request_variables": "request_variables",
"resource_sid": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"response_body": "response_body",
"response_headers": "response_headers",
"request_headers": "request_headers",
"sid": "NOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"url": "https://monitor.twilio.com/v1/Alerts/NOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"service_sid": "PNe2cd757cd5257b0217a447933a0290d2"
}
应用程序如何返回上面的数据?它怎么知道返回上面的数据?
你是否必须用上面的数据创建一个对象来响应所说的 API 调用> 程序员是否需要编写一个特殊的函数,如果他们不想为应用程序提供 API 访问,他们通常不会创建,响应返回数据的api调用?
例如,如果我有一个网站可以让人们将他们的名字和姓氏输入到数据库中。然后我需要编写一个程序,该程序利用一些插入名称的函数。如果我想创建一个 API 让其他人从数据库中检索名称,我需要创建另一个函数,如果我没有 API,我不会创建该函数来检索 API 调用的名称。或者我会创建一个 API 调用,该调用将向某个函数发出请求,该函数将返回一个对象,其中包含我所说的 API 调用将返回的所有数据;或者该函数会四处搜索数据创建一个对象,然后将信息返回给调用者。
【问题讨论】:
-
应用程序什么都不知道。应用程序的开发人员阅读 API(或使用的特定函数)的规范,并确定如何编写代码以便应用程序提供所需的数据。
-
如果我的calculator.com 有一个外部API 允许Twilio 用户添加。进行了外部 API 调用以添加用户,同时在网站上添加了用户。 calculator.com 如何知道将正确的输出返回给外部 API,使 Twilio 用户能够添加,calculator.com 用户也可以这样做。当 Twilio 用户和 calc.com 用户使用相同的 add 函数时,具有相同的参数,并且在同一时间,calculator.com 如何知道?
-
如果我的calculator.com 有一个外部API 允许Twilio 用户添加。一个 Twilio 用户调用了一个 API 来添加,同时在calculator.com 上一个用户添加了。当 Twilio 用户和 calc.com 用户使用相同的 add 函数、具有相同的参数并且在完全相同的时间时,calculator.com 如何知道将正确的输出返回给每个用户?
-
您需要努力了解“接口”(API 中的“我”)实际上是什么。你在证明你不理解它。
-
您可以退回任何您想要的东西。它可以是数据库行的 1:1 表示。它可以是静态文本。它可以是磁盘上的静态文件。它可以是随机数据。您可能会使用对象,也可能根本没有任何对象。首先尝试编写一个 hello world 网络服务器。然后让它返回一个 JSON 的东西。然后从数据库中返回一些东西。小步骤。假装 Twilio 几天不存在。
标签: json python-3.x api