$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reverse Engineering APIs
Search
mikz
May 30, 2014
Technology
1
540
Reverse Engineering APIs
Hacking Sonos and Bicing APIs with APItools.
ApiDays
mikz
May 30, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
SLMをエッジAIとして検証してみて分かったこと
iotcomjpadmin
0
300
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
30
15k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
140
複雑なCI/CDから脱却したアーキテクチャ:NTTグループの内製プラットフォーム事例を通して / An Architecture Achieving Simplified CI/CD: Insights from NTT Group's In-House Platform Case Study
nttcom
0
140
【CNDW2024】SIerで200人クラウドネイティブのファンを増やした話
yuta1979
1
280
専門領域に特化したチームの挑戦
leveragestech
0
230
【ASW21-01】STAMPSTPAで導き出した課題に対する対策立案手法の提案
hianraku9498
0
180
B11-SharePoint サイトのストレージ管理を考えよう
maekawa123
0
120
ヤプリのデータカタログ整備 1年間の歩み / Progress of Building a Data Catalog at Yappli
yamamotoyuta
3
640
GAS × Discord bot × Gemini で作ったさいきょーの情報収集ツール
ysknsid25
1
420
日本全国・都市3D化プロジェクト「PLATEAU」とデータ変換OSS「PLATEAU GIS Converter」の公開
nokonoko1203
2
290
生成AI時代のセキュリティはAWSでどう進化する? ~AWSセキュリティの3つのポイントからアップデートを予測する~ / How will Security Evolve on AWS in the Era of Generative AI and Predicting Updates from 3 Points of AWS Security
yuj1osm
0
100
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
297
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Documentation Writing (for coders)
carmenintech
65
4.5k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Rails Girls Zürich Keynote
gr2m
94
13k
A Philosophy of Restraint
colly
203
16k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
Reverse Engineering APIs Raimon Grau & Michal Cichra 3scale
Inspecting APIs github.com/kidd & github.com/mikz 3scale
Debugging APIs
[email protected]
&
[email protected]
3scale
APIs Everywhere
Get in touch!
[email protected]
Cases of study • ‘Hidden’ API:
Sonos • Combining APIs: Bicing on steroids
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Demotime!
Yay! :) or nay :(
Get in touch!
[email protected]
What else you could do? •
Transfer song from Spotify to the Sonos • Backup playlists • Stream the music to remote locations • Vote the songs added to the queue
Get in touch!
[email protected]
Case 2: Api aggregation Bicing +
Google Maps Source: Carlos Mejía Greene https://www.flickr.com/photos/carlitos/3101121106/ CC BY-NC-SA 2.0
Get in touch!
[email protected]
Improvements • Reduce transfer size •
Reduce roundtrips • Improve accuracy by getting info from multiple sources • Improve API interface
Get in touch!
[email protected]
Api Aggregation Mobile app Middleware Web
APIs requests responses
Get in touch!
[email protected]
Api Aggregation Mobile app Middleware Web
APIs requests responses http://techblog.netflix.com/2013/01/optimizing-netflix-api.html
Demotime!
Get in touch!
[email protected]
How we improved? Size Savings Response
time Original XML 131k ~0.7s JSON 80k 39% ~0.7s JSON with distances 91k 30% ~0.7s nearest 10 5k 96% ~0.8s
Get in touch!
[email protected]
What APIs to combine? Hue +
Google Calendar Google Maps + Foursquare Sonos + Last.fm Dropbox + Github Almost any, actually
Get in touch!
[email protected]
What do we get from it?
• As hackers we like to know what’s under the hood • Cross API • We can ‘discover’ hidden APIs. :) • It’s fun! • We can improve performance by aggregating multiple calls.
Get in touch!
[email protected]
Special Treat Primavera Sound Festival 2014
fake apps on Google Play Store real iOS app with a twist
Thank You and Happy Hacking! www.apitools.com @apitools -
[email protected]
[email protected]
/
[email protected]