Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google API Design Guideを読んだまとめ
Search
peka2
May 09, 2017
Technology
0
92
Google API Design Guideを読んだまとめ
Google API Design GuideからAPI設計を学ぶ
peka2
May 09, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
Red Hat OpenStack Services on OpenShift
tamemiya
0
120
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
Cosmos World Foundation Model Platform for Physical AI
takmin
0
940
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Agile Leadership Summit Keynote 2026
m_seki
1
640
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
430
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
240
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Building Adaptive Systems
keathley
44
2.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
250
YesSQL, Process and Tooling at Scale
rocio
174
15k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Marketing to machines
jonoalderson
1
4.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Transcript
Google API Design Guide Λ ಡΜͩ·ͱΊ @peka2
APIྺ • Yahoo! ϘοΫε APIઃܭɾ։ൃ • ϠϑΦΫAPIΨΠυϥΠϯ࡞ • ϠϑΦΫΞϓϦAPIઃܭɾ։ൃ
Ϟνϕʔγϣϯ • ࠷ۙެ։͞ΕͨAPIσβΠϯΨΠυ • TechGiantAPIઃܭ͔Βֶͼ͍ͨ
Google API Design Guideͱ • https://cloud.google.com/apis/design/ • 2017 2/20 ʹެ։͞Εͨ
• 2014͔ΒGoogle෦Ͱ࣮ࡍʹΘΕ͍ͯΔAPIσβΠϯΨ Πυ • REST, gRPC ͲͪΒʹͰ͑ΔΑ͏ʹ࡞ΒΕͯΔ • ܾఆ൛Ͱͳ͘ɺʑه͞Ε͍ͯ͘
Google API Design Guide • جຊRESTful
ΧελϜϝιου • httpϝιουʹϚοϐϯάͰ͖ͳ͍ૢ࡞ʹରͯ͠ɺ࡞ͬͯྑ ͍ • :ಈࢺ Λ࠷ޙʹ͚ͭͯࣔ͢ • ϝιουॊೈͰ͋ΔPOSTΛਪ •
PATCHͰ͏͖Ͱͳ͍ https://service.name/v1/some/resource/name:customVerb
ΧελϜϝιου༻ྫ • VM࠶ىಈ • ঢ়ଶͷભҠΛߦ͏APIɺ࠶ىಈϦιʔεΛ࡞ΔAPIΑΓɺΧελϜϝ ιουͷํ͕ײత • ϝʔϧૹ৴ • υϥϑτˠૹ৴τϨΠҠಈɺͱ͍͏σβΠϯΑΓɺΧελϜϝιο
υͷํ͕ײత • RESTfulʹͩ͜ΘΔΑΓɺϢʔβ͕ײతʹΘ͔Δ͜ͱ͕ॏཁ
ͦͦRESTfulͬͯ • ։ൃऀؒͷηϚϯςΟοΫΪϟοϓΛຒΊΔ͜ͱͰɺ୭ʹ ͰײతͳAPIΛઃܭͰ͖Δͷ͕རͷҰͭ • ແཧΓRESTfulΛద༻͢Δ͜ͱͰখ͍͠APIʹͳͬͯ ͠·͏ͳΒɺΧελϜϝιουͷ΄͏͕ײత
Τϥʔදݱ • Τϥʔίʔυগͳ͚Εগͳ͍΄Ͳɺ ΫϥΠΞϯτͷϩδοΫ͕ෳࡶʹͳΒ ͳͯ͘ࡁΉ • https://github.com/googleapis/ googleapis/blob/master/google/ rpc/code.proto •
15छྨ • statusʢΤϥʔίʔυʣྻͰͳ ͘ɺਓؒͰಡΊΔӳ୯ޠΛͬͯΔ
ϖʔδωʔγϣϯ • ϦετԽͰ͖ΔίϨΫγϣϯͲΜͳখ͞ͳͷͰϖʔδωʔ γϣϯΛ࣮͓͖ͯ͘͠ • طଘͷAPIʹϖʔδωʔγϣϯΛޙ͔Β࣮͢Δͱɺݩʑશ݅ ฦ͍ͯͨ͠ͷ͕̍ϖʔδʢσϑΥϧτϖʔδʣͷΈฦ͢ɺ ͱ͍͏Α͏ͳڍಈͷมߋ͕ൃੜͯ͠͠·͏͔Β • ϦΫΤετɿpage_sizeͱpage_token
Ϩεϙϯεɿnext_page_token
ଞ • *Ͱͳ͘-Λ͍·͠ΐ͏ • URLΤεέʔϓͷ߹্ • ϦιʔεͷҰ෦ͷϑΟʔϧυ͚ͩฦͤΔΑ͏ʹ͢Δͱศར • ϦιʔεΛfullͰͳ͘basicͳͷ͚ͩड͚औΕΔΑ͏ʹ͢Δͱศར •
APIυΩϡϝϯτͷ࡞Γํ • ͳͲͳͲɾɾɾ
·ͱΊ • RESTfulΛਪ͍ͯ͠Δ͕ײతͳઃܭΛॏࢹ • ෳαʔϏεͰ༷͕ࠞ͠ͳ͍Α͏ʹɺϖʔδωʔγϣϯ ͳͲϧʔϧ͕ݫ֨ʹܾ·͍ͬͯΔ • ༷ͱυΩϡϝϯτprotoϑΝΠϧͰཧ • APIઃܭͷࢿྉͱͯ͠े·ͱ·͍ͬͯͯ͑ͦ͏
https://speakerdeck.com/hirak/mercariday2017-api
• LSUDs • ͖Ε͍ͳAPI • SSKDs • ࣮ʼඒ͠͞ • վम͠·͘ΕΔઃܭ