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
外部APIとズブズブな開発どうしてますか?
Search
kin29
September 15, 2023
Programming
2
2k
外部APIとズブズブな開発どうしてますか?
PHPカンファレンス沖縄2023 トラックB 12:00~
kin29
September 15, 2023
Tweet
Share
More Decks by kin29
See All by kin29
【Symfony超入門】コマンドだけでCRUD画面を作るチート法
kin29
0
820
めんそ〜れ!モブプロ!!!
kin29
0
770
社内パッケージの再利用にSatisを使っている話.pdf
kin29
0
1.1k
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
330
童醫院敏捷轉型的實踐經驗
cclai999
0
200
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
PicoRuby on Rails
makicamel
2
110
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
400
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
660
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
290
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
200
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
440
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
337
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
A designer walks into a library…
pauljervisheath
207
24k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Bash Introduction
62gerente
614
210k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Transcript
外部APIとズブズブな開発 どうしてますか? 志賀彩乃(@kin29ma_n)
自己紹介 • 志賀彩乃(@kin29ma_n) • 株式会社カルテットコミュニケーションズ ◦ 愛知県名古屋市 ◦ PHPer大募集中です ◦
会社に入ってSymfonyはじめました • 趣味: ペチコン/PHPerKaigi行くこと • 息子(3) • 山口→ 宮崎 → 愛知
話すこと • API → Web API • 外部APIを使う上での失敗とその対処法 ◦ あるある①:
APIアップデートのキャッチアップ漏れ ◦ あるある②: APIリファレンスに情報が載ってない ◦ あるある③: 急にAPIやエンドポイントが使えなくなる 話さないこと • 外部APIの使用方法 • PHPな話
ではさっそく これがベストだと思っていないので、 良い方法があればぜひ教えてください🙇🙇🙇
外部APIを使う上でのあるあるな失敗とその対処法 • あるある①: APIアップデートのキャッチアップ漏れ 👈 • あるある②: APIリファレンスに情報が載ってない • あるある③:
急にAPIやエンドポイントが使用不可になる
あるある①: APIアップデートのキャッチアップ漏れ BEFORE 約10個の媒体APIのアップデート情報のキャッチアップを、 1人のスーパー開発者に依存していました。 \本当にありがとうございました 🙇/ ・G⚫ogle ・Yah⚫o Search
・Yah⚫o Display ・M⚫ta ・旧T⚫itter ・L⚫NE ・TikT⚫k ・S⚫rtNews ・Micr⚫Soft ・fre⚫e ・G⚫ogle Analytics
あるある①: APIアップデートのキャッチアップ漏れ AFTER 約10個の媒体APIのアップデート情報のキャッチアップを、 月に1回、3人で行う(=1人あたり3~4個) ・Yah⚫o Search ・旧T⚫itter ・S⚫art News
・Tikt⚫k ・G⚫ogle ・L⚫NE ・Micr⚫Soft ・Yah⚫o Display ・M⚫ta ・G⚫ogle Analytics ・fre⚫e
あるある①: APIアップデートのキャッチアップ漏れ 具体的な方法 • 新しいAPIバージョンがでていれば、GitHub Issuesを立てる ◦ キャッチアップの方法 ▪ リリースノート(RSSフィード)
▪ メール ▪ → 専用Slackチャンネルに流す • 廃止日やサポート終了日が近いものは優先度高めで対応する
外部APIを使う上でのあるあるな失敗とその対処法 • あるある①: APIアップデートのキャッチアップ漏れ • あるある②: APIリファレンスに情報が載ってない 👈 • あるある③:
急にAPIやエンドポイントが使用不可になる
あるある②: APIリファレンスに情報が載ってない 動画(VIDEO)の時のレスポンスしか分からない。 画像の時のレスポンスが知りたい!
あるある②: APIリファレンスに情報が載ってない 対処法 • APIを叩く(cURL, Postman等) • 実際にそのAPIを使っているであろう画面にて、デベロッパーツールでリク エスト/レスポンスを見る
あるある②: APIリファレンスに情報が載ってない 対処法 • APIを叩く(cURL, Postman等) • 実際にそのAPIを使っているであろう画面にて、デベロッパーツールでリク エスト/レスポンスを見る👈
あるある②: APIリファレンスに情報が載ってない 対処法 • APIを叩く(cURL, Postman, API Tester等) • 実際にそのAPIを使っているであろう画面にて、デベロッパーツールでリク
エスト/レスポンスを見る👈 ◦ ①実際にそのAPIを使っているであろう画面の目星をつける ◦ ②デベロッパーツール > ネットワークを開く ◦ ③該当APIエンドポイント(または似ているもの)を見つけ、リクエスト/レ スポンスを見る
あるある②: APIリファレンスに情報が載ってない ①実際にそのAPIを使っているであろう画面の目星をつける 例)静止画の編集画面、静止画を表示させている画面など \推理力/
あるある②: APIリファレンスに情報が載ってない ②デベロッパーツール > ネットワークを開く
あるある②: APIリファレンスに情報が載ってない ③該当APIエンドポイントを見つけ、 リクエスト/レスポンスを見る
あるある②: APIリファレンスに情報が載ってない ③該当APIエンドポイントを見つけ、 リクエスト/レスポンスを見る \静止画の時のレスポンスも把握できた🎉/
外部APIを使う上でのあるあるな失敗とその対処法 • あるある①: APIアップデートのキャッチアップ漏れ • あるある②: APIリファレンスに情報が載ってない • あるある③: 急にAPIエンドポイントが使用不可になる
👈
あるある③: 急にAPIエンドポイントが使用不可になる 直近でほんとにあった怖い話 「〇〇の機能が使えません」というお問い合わせをいただく →原因調査すると、昨日まで使えてたAPIエンドポイントが急に使えなくなって いた。
あるある③: 急にAPIやエンドポイントが使用不可になる 対処法 • 防ぐことは難しい • 発生した時の解決法 ◦ ログを見る →
「エラーメッセージ」を読む ◦ 「エラーメッセージ」でググる ▪ 公式のリリースノートやAPIリファレンス ▪ 媒体のフォーラム ▪ GitHub Issues ▪ 個人サイトの記事 ◦ ChatGPTに聞く
あるある③: 急にAPIやエンドポイントが使用不可になる 対処法 • 防ぐことは難しい • 発生した時の解決法 ◦ ログを見る →
「エラーメッセージ」を読む ◦ 「エラーメッセージ」でググる ▪ 公式のリリースノートやAPIリファレンス ▪ 媒体のフォーラム 👈 ▪ GitHub Issues ▪ 個人サイトの記事 ◦ ChatGPTに聞く
あるある③: 急にAPIやエンドポイントが使用不可になる 媒体のフォーラムにて同じ状況&解決方法を記載してくれてる方がいた →無事解決しました🎉🎉🎉 \超感謝😭!!!/
まとめ • APIとズブズブなのは手がかかる • APIがないと作れない機能がある ◦ APIを提供してくれて、ありがとう! • 困った時に助けてくれる人はいる! ◦
情報提供してくれた人に感謝を伝えよう!
まとめ • APIとズブズブなのは手がかかる • APIがないと作れない機能がある ◦ API提供してくれて、ありがとう! • 困った時に助けてくれる人はいる! ◦
情報提供してくれた人に感謝を伝えよう! 助け合いの世界🤝
助けてくれる or 助け合いたいPHPerの方、大募集中です🙌🙌🙌 https://quartetcom.co.jp/recruit/engineer/
ご清聴ありがとうございました。 みなさまのAPI攻略法の共有お待ちしています。