使用政府数据自动化和改善生活的4种方法

无论您对美国政府的看法如何,可以肯定的是,它是一个庞大的信息仓库,即您现在可以访问的信息。

在本文中,我将经常使用术语“ API"。不要让那吓到你。 API代表“应用程序编程接口"。在网络上,这是人们“利用"其他网站或网络服务中信息的一种方式。

为什么有人想要这样做?

我将向您展示为什么。我还将向您展示您可以访问哪些令人印象深刻的信息以及如何使用这些信息来改善日常生活。

为什么要使用API​​?

最近,Matt解释了开放式API如何改变Web上信息交换的性质。

API是您最喜欢的许多网站如何集成来自Facebook,Twitter和其他流行网站的内容。当您访问《华尔街日报》时,您可能会发现它像魔术一样,您可以看到Facebook或Twitter上的人们在谈论这个故事。但是事实归结为通过这些神奇的API在Internet上交换数据和信息。

如何利用API数据

您是否必须成为高级程序员才能做到这个?

感谢通过IFTTT或Zapier等服务提供的一些非常有用的工具,它们可以帮助您在通过API在网络上找到的信息与您要“导入"该信息的地方之间架起一座桥梁。数据-无论是Facebook,Slack还是Google Drive或Dropbox。

为什么有用?只需考虑一些可以让您做的有关政府数据的事情:

  • 从USDA请求有关食物的营养信息
  • 仅用SMS消息搜索有关位置的经济信息
  • 通过短信搜索政治候选人和捐款
  • 将当天的NASA图片发布到Twitter或Facebook
  • 从手机中获取任意位置的卫星图像
  • 我将向您展示执行这些操作有多容易。在以上每个示例中,我都使用Zapier服务来自动化服务集成。之前我已经介绍过Zapier,如果您不熟悉该服务,那么值得一读。

    在开始之前,请确保您已注册API密钥。只需几分钟,您就会通过电子邮件收到密钥。

    从USDA获取食物营养信息

    作为开放数据计划的一部分,USDA提供了API您可以访问美国商务部有关食品的信息。您可以设置自动回复,以查找食物矿物质信息。例如,如果您正在节食并且减少碳水化合物,则可以使用此工具。

    这是它的工作原理。

  • 您在主题行中发送一封电子邮件,其中包含您想知道的食物名称
  • Zapier从USDA数据库中检索该食物的ID,并使用该ID检索食物报告。
  • Zapier将报告发送到您的电子邮件中。
  • 这是您的设置方法。

    首先,您需要在以下位置创建“ zap" Zapier可以接收您的电子邮件以触发FDA食品查询。

    Zapier允许您自定义部分电子邮件地址,以便将其应用于您使用的目的。创建传入电子邮件触发器后,请继续进行下一个“ zap"。这将是一个Webhook,用于从USDA数据库中检索所请求食物类型的ID号。

    在Zapier中,您将选择Webhook触发器,然后选择“获取"选项。

    下一步是输入数据请求的URL。 USDA允许您通过以下Web请求在其数据库中检索食物的ID:

    http://api.nal.usda.gov/ndb/search/?format=json&q=butter&sort=n&max=25&offset=0&api_key=YOUR_KEY

    “ q = butter"是您需要传递Zapier电子邮件主题行的参数。在Zapier Webhooks操作中,您会看到有一些字段可以在其中设置URL查询参数。每个对象附近都有一个“成分"按钮,它将向您显示上一个触发事件(传入电子邮件)的“输入"。

    请记住也要添加一个带有api_key的查询字段。

    接下来,是时候向USDA创建另一个Web请求,以使用您刚获得的ID检索所请求食品的营养信息。为此,正确的API请求字符串为:

    http://api.nal.usda.gov/ndb/nutrients/?format=json&api_key=YOUR_KEY&nutrients=205&ndbno=01009

    这是“ ndbno = 01009"字段,该字段将使用上面步骤中使用的相同“成分"方法来保存ID。

    您会在上面的URL链接的参数列表中注意到,其中列出了一种营养素类型。您可以使用USDA网站上的营养代码来选择另一种营养类型。

    创建上述Webhook之后的最后一步是再增加一个步骤,将这些结果输出到您的电子邮件中。

    如您所见,您可以更改电子邮件模板的外观。上面电子邮件中的灰色字段是上一个webhook Web请求中的嵌入值。

    这是我发送关于胡萝卜的碳水化合物信息请求时报告电子邮件的样子。

    这是获取营养信息的快速便捷的方法。 Zapier还与Burst SMS和其他一些服务集成在一起,使您可以通过短信发送食物请求而不是使用电子邮件。

    按位置搜索经济学

    如果您正在考虑搬到新州(例如新州)之前,很高兴知道您决定冒险之前这些社区的总体经济状况。

    美国商务部支持以下机构的开放数据计划:提供提出Web服务请求以获取基于位置的经济统计信息的能力。但是,您从data.gov获得的API密钥在这里不起作用。您必须通过BEA.gov注册唯一的API密钥。

    使用与上面的USDA示例相同的方法,您可以传递“州"和要查询的年份,通过电子邮件发送给Zapier。要捕获此信息,请选择Zapier电子邮件触发器,并为其指定一个唯一的地址,例如“ stateeconomics"。然后创建一个Webhooks“ zap",您可以在其中构建BEA.gov所需的Web请求URL。

    http://bea.gov/api/data/?UserID=YOUR_KEY&method=GetData&datasetname=RegionalIncome&TableName=CA1&LineCode=1&Year=2013,2014&GeoFips=23000&ResultFormat=json

    此处的窍门是发送包含主题中特定美国州代码的电子邮件,和岁月之间用逗号隔开。这里没有状态码查询,因此您需要使用用户指南中的状态码列表。

    接下来,使用Zapier Webhooks添加操作“ zap"。现在,您将使用电子邮件带来的参数来构建URL Web请求。

    这将运行查询,然后您可以接下来添加电子邮件操作事件,查询结果可以

    这是我提交缅因州经济数据请求时的最后一封电子邮件。

    如上面概述的部分所示,

    从Slack查找人口数据

    让我们稍微休息一下,让我们看看触发一个从其他Web服务(例如Slack)进行数据查找。

    Slack是一种类似此类的绝佳触发方法,因为它能够创建自定义的“斜杠命令"。

    一次创建自定义命令后,可以向外部服务(例如Zapier)发出POST Web请求。但是在执行此操作之前,您需要告诉Zapier生成“监听器" URL链接。您可以通过选择Webhooks触发器并选择“ Catch Hook"来完成此操作。

    执行此操作时,Zapier会为您提供编程Slack“发送"命令所需的URL。这就是您粘贴到Slack Slash Command配置页面中的URL。

    将其保存在Slack中,然后返回Zapier并完成保存新的Webhook“ catch"。

    对于在下一个Zapier“操作"中,您将选择另一个Zapier Webhook。您会注意到,现在您可以选择“获取"作为选项。这样一来,您就可以粘贴人口普查局的Web服务URL来查找州人口。

    http://api.census.gov/data/2014/acs1?get=NAME,B01001_001E&for=state:23&key=YOUR_KEY

    与其他政府机构一样,人口普查局将不会使用从其他站点获得的密钥。您需要请求一个特殊的人口普查局密钥。

    设置Zapier Webhook时,“ for = state"参数将是Slack命令中的变量(请参见下文)。但是在进行此操作之前,请注意,报告类型和状态均以数字代码表示。 “ B01001_001E"代表总人口。

    实际上还有更多统计数据可用。首先,可以通过将以下URL粘贴到Web浏览器中(使用正确的密钥)来查看所有状态代码。

    此列表显示了所有州的人口。最后两个数字是状态码。这些是您可以在命令中使用的状态代码。

    人口普查局还在其网站上列出了其他统计信息的代码。您可以访问按性别,年龄,是否在家工作,入学等信息进行访问的事情。

    所以,让我们回到Zapier Webhook,它将接受命令松懈,然后将网络请求发布给人口普查局。看起来就是这样。

    “ for"查询参数是需要接收从Slack命令发送的状态代码的参数。

    此Webhook运行正常后,下一步是添加一个Slack操作,以直接消息的形式将结果发送给您。

    这就是全部。因此,现在,每当发出创建的用于查询美国任何州的人口的命令时,您都会收到Slackbot的直接消息并给出答案。

    谁会认为人口普查局实际上可以

    请求您所在位置的NASA卫星图像

    最后一种自动化可能是我创造的最酷的自动化。为此,我实际上不得不使用两个相互竞争的自动化服务-IFTTT和Zapier。

    为什么?那么IFTTT有一个很棒的移动应用程序,叫做``DO Button'',可以触发自动化。 Zapier没有。 Zapier做得更好的是能够解析更复杂的Webhooks和预览结果。在此示例中,我将向您展示如何完成这些步骤:

  • 使用“ DO按钮"应用将地理坐标发送到电子表格
  • Zapier将检索它们,然后向NASA发出网络请求,以获取这些坐标处的最新卫星图像。
  • Zapier将通过短信将图像的链接发回给您。
  • 这并没有那么简单。比起那个来说。点击按钮发送当前坐标,然后接收图像!

    首先,您要从Google Play安装DO按钮[不再可用]。而且,如果您没有IFTTT帐户,则应该立即开设一个帐户。

    启动DO Button应用后,创建一个新配方,每当您按下该按钮时,该配方都会将当前坐标发送到电子表格中。确保您使用的Google云端硬盘帐户与在Zapier上注册Google表格应用所使用的帐户相同。

    每次单击DO按钮,您当前的坐标都会添加到该电子表格中

    现在,进入Zapier,首先创建一个以Google表格为触发的Zap。让它在同一电子表格中查找任何新行(在上面的示例中,工作表名为“位置"。)

    下一步,创建一个动作,Zapier将使用您的网站向NASA发出Web请求位置坐标。

    下一步,创建另一个操作,该操作将通过SMS将生成的卫星图像链接发送给您。

    因此,现在您的自动化工作流程已经完成。

    想想这现在有多酷-您所要做的就是点击“ DO Button"应用程序;您的位置坐标会立即发送到Zapier; Zapier要求NASA提供您当前位置的卫星图像,然后通过SMS将图像的URL发送给您。

    您不只是喜欢技术吗?

    其他政府数据

    我认为NASA的数据最有趣,但USDA,FDA,人口普查等机构的数据也有很多用途。

    以下是一些您可以使用更有用的Web请求从美国政府获取信息:

    1。通过大学名称查找大学记分卡:

    http://api.data.gov/ed/collegescorecard/v1/schools?school.name=boston%20college&api_key=YOUR_KEY

    2。

    a)从名称中找到候选人ID:

    https://api.open.fec.gov/v1/candidates/?name=SANDERS%2C%20BERNARD&api_key=YOUR_KEY&office=P&per_page=20&page=1&sort=name&candidate_status=C&sort_nulls_large=true

    b)查询与候选人相关的委员会名单:

    https://api.open.fec.gov/v1/candidate/P60007168/committees/?page=1&per_page=20&sort_nulls_large=true&api_key=YOUR_KEY&sort=name

    c)使用委员会ID查找支出/捐款:

    https://api.open.fec.gov/v1/committee/C00590646/totals/?page=1&sort_nulls_large=true&per_page=20&api_key=YOUR_KEY&sort=-cycle https://api.open.fec.gov/developers/#!/financial/get_committee_committee_id_totals

    3。查找可用于少数族裔小型企业的政府服务和程序:

    http://api-business.usa.gov/program/JSON?size=25&offset=5&ownership=minority&api_key=YOUR_KEY

    可以使用与本文前四个示例相同的方法来自动执行这些Web请求。当您只需发出Web查询并立即将信息传递给您时,为什么要浪费时间浏览充满复杂图表的政府网页?

    Zapier和IFTTT都提供了最快,最方便的方法无需了解编程就可以自动执行这些“ GET" Web请求,但是如果您是程序员,则这些政府Web API的功能要强大得多。

    您能看到任何有用的方法吗?可以在自己的生活中利用政府数据吗?您可以为自己的生活梦想什么创意自动化?在下面的评论部分中分享您的想法和想法!

    图片来源:lansvision通过Shutterstock提供了许多文件夹,Alexaldo通过Shutterstock提供了小文件夹

    标签: API 计算机自动化 IFTTT 生产力 松弛