Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 应用程序如何知道如何返回API请求的数据?_Json_Python 3.x_Api - Fatal编程技术网

Json 应用程序如何知道如何返回API请求的数据?

Json 应用程序如何知道如何返回API请求的数据?,json,python-3.x,api,Json,Python 3.x,Api,比如说我创造了Twilio。下面是他们的警报API : 从下载帮助程序库 来自twilio.com/console的帐户Sid和身份验证令牌 并设置环境变量。看 JSON API响应示例: { "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "alert_text": "alert_text", "api_version": &

比如说我创造了Twilio。下面是他们的警报API

:

从下载帮助程序库

来自twilio.com/console的帐户Sid和身份验证令牌 并设置环境变量。看

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服务是从内部API演变而来的;像AWS


最困难的不是组装API,而是测试它,确保它的健壮性、安全性和足够强大的隐私功能。

应用程序什么都不知道。应用程序的开发人员阅读API(或使用的特定函数)的规范,并确定如何编写代码,以便应用程序提供所需的数据。如果我有calculator.com和外部API,允许Twilio用户添加。进行了外部API调用以添加,同时在网站上添加了用户。calculator.com如何知道将正确的输出返回给外部API,使Twilio用户可以添加,calculator.com用户也可以这样做。当Twilio用户和calc.com用户使用相同的添加函数、相同的参数时,calculator.com是如何知道的?如果我有calculator.com和外部API,允许Twilio用户添加。一个Twilio用户调用了一个API来添加,同时在calculator.com上添加了一个用户。当Twilio用户和calc.com用户在同一时间使用相同的添加函数、相同的参数时,calculator.com如何知道向每个用户返回正确的输出?您需要了解“接口”(API中的“I”)实际上是什么。你在证明你不理解它。你可以退回你想要的任何东西。它可以是数据库行的1:1表示形式。它可以是静态文本。它可以是磁盘上的静态文件。它可以是随机数据。您可能使用对象,也可能根本没有任何对象。试着先写一个hello world Web服务器。然后让它返回某个东西的JSON。然后从数据库中返回一些内容。小步走。假装Twilio在几天内不存在。
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)
{
  "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"
}