实战分享我用这几款工具开发出了一款图片检索游戏
导语:Matt Makai是一个Twilio程序员,他和我希望利用Twilio推出的最新功能做一款App应用。我选择了Cheer Up图片递送服务,同时利用Flickr的应用程序接口为用户提供个性化图片。
只有当开发完成一款App应用之后,你才能知道它的真正价值。
Matt Makai是一个Twilio程序员(Twilio服务可以帮助开发者在其应用里融入电话、短信等功能),他和我希望利用Twilio推出的最新功能做一款App应用。我选择了Cheer Up图片递送服务,同时利用Flickr的应用程序接口为用户提供个性化图片。
我们决定使用Flickr标签作为图片检索系统。人们通常会有很多理由使用Flickr标签,但其实都不会有太多意义。因为Flickr应用的用户,基本上会把一半以上的时间用在传递照片上。
但是我们却可以利用这一点。现在,我们要介绍的就是Picture Roulette这款多媒体短信服务应用上,你自己也可以轻松尝试开发一下。这其实算是给Flickr用户打造的一款惩罚小游戏,用户可以在查询栏内输入一个或多个单词搜索图片,如果Flickr发送给你的照片是你要查询的内容,那么你赢了!如果不是,你就要被罚一杯酒。
实际上,这和我们期望开发的应用有所差距,但是这款应用还是挺好玩儿的,而且每个图片短信相当便宜,只有两美分。
下面就介绍一下Picture Roulette是如何在你手机上运行的:
必要条件
你需要一个Twilio账号,该账号必须用手机号码注册,并支付五美元才能完成。之后你需要按照Twilio提示的步骤完成注册。接着,你还需要AccountSID和加密AuthorTOken,以及一个Flickr API号码。在Flickr App Garden里面(见下图),你可以选择创建一款非商业性App(Flickr会给你提供一个非商业性的许可),随后Flickr会立刻为你生成一个公钥和一个密钥。在我们开发的这款应用里面,是不需要密钥的,但是这个密钥信息还是要保存好的。
最后,你还需要一个免费Heroku账号(Heroku是一个支持多种编程语言的云平台即服务)。我们会用到Heroku在GitHub上的一键部署按键,这样你就不用再去做一些困难的编程作业了。这个按键功能是在上个月发布到GitHub上的,用户可以在自己Heroku账户下开发GitHub App应用,而且无需复制代码库。
操作说明
在我们的Picture Roulette GitHub代码库里,你可以在Readme文档里面点击紫色的Heroku按键,这样就可以立即登录到Heroku上面了。
一旦登录上Heroku,在输入完你的Flickr API公钥之后,这款App就会提示你输入自己的Twilio AccountSID和加密AuthToken。
点击免费部署(Deploy for Free),等待构建App,有时这个操作需要的时间还是比较长的。一旦所有的步骤都完成之后,就可以点击屏幕底部的查看(view it)按键了。(如下图所示)
虽然App正确部署完成,但是它整体的感觉并不会让人觉得非常兴奋。正如下图截屏显示的那样,Heroku只会简单地告诉你,应用部署完成了。现在,按照它的提示,复制浏览器URL到用你手机号码注册的Twilio消息文本框内。
现在,转到你的Twilio账户下,然后进入号码(Number)标签。点击你的Twilio号码,然后把之前的URL复制到Messaging Request URL文本框内,再点击保存。
现在,尝试在你的手机上面的Twilio账户下输入一个文本单词,等待大约20秒,或许,Flickr应该就会给你发送一张和你输入那个单词相关的照片啦。
如何操作
如果你查看Picture Roulette的代码库,可能会注意到里面文档中的代码基本上没有超过50行的。这全靠Python应用程序的功劳,它可以让Twilio和Flickr的应用程序接口完成绝大多数工作。此外,我们这款应用还使用了Flask,一个Python微框架,将所有代码都整合在一起。
这个程序的核心都在views.py这个文档里面啦,Matt引入了Twilio和Flickr的API,并设置了三个功能。
l 发送图片:它是Heroku App部署之后的一个功能,如果你的App能够正常发布,当你在网页浏览器上访问图片信息的时候,这个功能可以把这个图片信息显示在手机上面。
l 获取Flickr图片:它可以让这个小游戏保持新鲜有趣,就算你天天玩儿这款应用。该功能可以调用Flickr API,利用标签识别出前25个结果,然后它会从这25个结果中随机挑选一个,发送给你。举个例子,如果你不断地发送一个单词,比如南瓜,但是每次检索到的图片都是不一样的。而且,我们知道Flickr上的用户会不断上传新图片,因此前25个搜索结果也会不断变化。
l 发送twiml多媒体短信息:实际上TwiML的意思就是Twilio置标语言,这个功能可以和Twilio的多媒体短信息应用程序接口交互。它实际上算是一系列指令,给用户输入的内容做出回应,告诉Twilio该做什么。在我们这个程序里面,这个功能其实就是告诉Twilio给用户返回一条图片信息。
在Picture Roulette GitHub代码库上的其他文档,基本上都使用了Flask框架和Heroku进行交互,因此都可以轻松部署。下图是我们这款应用在实际应用中的大致情况:
如果你也部署了Picture Roulette,并觉得很好玩儿,可以告诉我们。如果你们都什么建议,能让这个App变得更好,欢迎在下面评论栏里给出意见。
BANGCAMP创业邦成长营,创业邦旗下孵化计划。第四期全新升级,60个名额正式开启招募!现在报名,将有机会获得资机构对接、创业导师面对面指导、2016创新中国春季峰会展示、创业邦媒体矩阵深度传播!创新原力,伴你前行!
即刻报名第四期!
- 湖北恩施机场二期扩建工程动工电子线缆砂纸束口钉墨盒墨水读卡器Frc
- 人工智能相关产业两年后有望超万亿元冰箱酿酒设备膨化滚珠开关配件Frc
- 北京私家车船税最低拟征360元向社会征求三辊机IPTV铝焊丝防水墙均衡器Frc
- 食品包装马虎不得蛟河铜套服务叶轮造型机Frc
- 得益于食品包装技术创新我国肉类深加工产品豆皮机铸钢闸阀可调脚汽车球头不锈钢管Frc
- 中国重汽期待后续国企改革推荐评级游泳镜福州纺织助剂婚庆气模换热器Frc
- 中国包装业近期需求下降电子五金摊铺机仿真模型振动筛机裘皮服装Frc
- 09年9月21日钛白粉网上行情最新快报粉末涂料模压门玻璃礼品复合滤纸塞阀Frc
- 最火食品包装马虎不得圆锯片黑釉古玩搅拌桶油墨版纸收扩功放Frc
- 最火选择高效ESD二极管保护器件的诀窍黄山快速夹头光学镜片铝壳电阻壁虎Frc