SlideShare una empresa de Scribd logo
1 de 40
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 1
PHP実践∼外部APIを使って情報を取得する∼
アシアル株式会社 岡本雄樹
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 2
自己紹介
• 名前
– 岡本雄樹 (ハンドルネーム:ジャスティス岡本)
• 職業
– アシアルという会社で教育事業を営んでおります
• 略歴
– プログラミングを始めたきっかけ
• 高校生の時に「プログラミングコンテスト」があるのでプログラムを作るよう
部活の顧問に指示されたため、簡単そうだったのでPHPを独学で始める。
– プログラミングの仕事をしながら大学に通う
• ベンチャー企業で勤怠管理システムの開発に携わったり、通販企業で働いてい
たらいつの間にか社内SEになっており、システム構築からサーバの運用などシ
ステム面を一手に引き受ける。
– 新卒(?)でアシアル入社
• 主にECサイトの自社パッケージ開発や多数のEC案件に関わる。
– 教育事業を独立させる
• 新規事業会議で、新規も良いですが既存の教育事業を強化しましょうと提案、
3ヶ月後に配置配属。1年後にマネージャーとなる。
• ブログ:ジャスティス岡本の週末ハッカー
– http://j801.com/
• 著書
– 「イラストでよくわかるPHP はじめてのWebプログラミング入門」
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 3
外部APIを使うメリット
• 自分のWebサービスに様々な情報を取り込めます
– ニュース、天気、通販サイトの商品情報など
• アイディア次第で面白いサービスや便利なサービスを作
ることが出来るようになります
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 4
事前準備
• APIアカウントの用意
–今回は不要
• PHP実行環境
• 実習用のソースコード
–今回は配布なし
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 5
アジェンダ
• 第一回
– WebAPIとは
• 主なAPI提供サイト
• PHPからAPIを利用するための技術
– WebAPIを試す
• 郵便番号APIを試してみよう
• お天気APIを試してみよう
• POSTリクエストをPHPで行う方法
• 第二回
– 複数のAPIを組み合わせてマッシュアップを行う
• 第三回
– Twitter検索アプリの作成
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 6
WebAPIとは
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 7
WebAPIとは
• そもそもAPIとは
– Application (アプリケーション)
– Program(プログラム)
– Interface(インタフェース)
• 他のアプリケーションに対して特定機能
を簡潔に呼び出せるように、インタ
フェースを規定したものです。
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 8
APIの例
• APIの例
– ブラウザ(HTML5)
• 位置情報を取得するAPIや画面に絵を描くためのAPIが提供
されています。
– OS
• フォルダやファイルの管理、ウィンドウの表示をはじめ様々
な機能がAPIとして提供されています。
– Webサービス
• 一部のWebサービスは外部のWebサービスやアプリから連携
できるように、WebAPIを開放しています。
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 9
WebAPIとは
• Web APIの特徴
– 提供元
• 色々なWebサイトが提供しています
– 楽天やTwitter、Googleなど
– 代表的な機能
• 情報を取得する機能
– 例:商品一覧など
• 情報を加工する機能
– 例:数字を渡すとグラフで返してくれるAPIなど
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 10
主なAPI提供サイト
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 11
Yahoo! JAPAN
• 主な提供機能
– 検索
– 地図
– オークション
– ショッピング
– ニュース
• 情報源
– デベロッパーネットワークトップにて公開
• http://developer.yahoo.co.jp/
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 12
Google
• 主な提供機能
– Google Maps
– Custom Search API
• 情報源
– https://developers.google.com/
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 13
楽天ウェブサービス
• 主な提供機能
– 楽天市場
– 楽天ブックス
– 楽天オークション
– 楽天トラベル
• 情報源
– http://webservice.rakuten.co.jp/
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 14
Amazon
• 主な提供機能
– 商品検索
– AWSの管理API
• 情報源
– http://www.amazon.co.jp/gp/feature.html?docId
=451209
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 15
Twitter
• 主な提供機能
– 検索
– ツイート
– 他、殆ど全ての機能
• 情報源
– https://dev.twitter.com/
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 16
WebAPIを公開する理由
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 17
WebAPIを提供する側のメリット
• API利用が売り上げと直結しているケース
– 課金、 EC2、商用地図など
• 自社サイトの宣伝やアフィリエイトと結びついている
ケース
– 楽天やAmazon等
• エコシステムの構築(サードパーティー製アプリなど)
– TwitterやFacebookは多くの機能をAPI提供している
• サードバーティ製のサイトやクライアントアプリが豊富。
– サードパーティーが盛り上がれば利用者が増える
» それに伴い「会員」や「データ」などの資産が増える
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 18
WebAPIの活用方法
• WebAPIの活用方法
– 表現力向上
• 地図やグラフを描画するAPIで表現力を向上させる
– 利便性向上
• お天気APIやニュースAPIを利用してサイトの利便性を向上させる
– アフィリエイト
• サイトにAmazonや楽天の商品を自動掲載してアフィリエイト収入
を得る
– 口コミマーケティング
• Twitter連携を行うことで口コミに乗りやすくする。
– 記事を投稿すると自動的にTwitterにURLを投稿
– 自社サイトを宣伝するBotを作る
– 課金
• オンライン決済会社が提供するAPIを利用し課金を行う
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 19
APIを利用するための技術
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 20
APIプロトコル
• REST(Representational State Transfer)
– 特定のURLにGETやPOSTでリクエストすることにより、データ
の取得などの何らかの操作を行うことができます。現在の主流
です。
• SOAP
– 古くから利用されているXMLを応用したオブジェクトデータ通
信の規格です。拡張性の高さが強みですが複雑なため近年では
廃れつつあります。
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 21
データ形式
• JSON(JavaScript Object Notation)
– JavaScriptにおけるオブジェクトの記述方法と同じ文法のデータ形式です。データが軽量か
つJavascriptから楽に扱えるため、Webアプリケーションと相性が良いのが特徴です。この
ため、最近のWebAPIはJSONをサポートしているものが多いです。
– JavaScript以外の言語からの呼び出し
• PHPからもjson_encode/decode関数を使うことで、簡単に扱うことが可能です(PHP5.2以降)
• XML
– 独自のフォーマットを作成することができる、汎用性の高いデータ形式です。RSSなどの
フォーマットとして採用されています。
– メリット
• 情報を規格化することができる
• 人間にも読みやすい形式である
– デメリット
• タグ構造のためデータが冗長で重たくなる
• PHP等でデコード(パース)やエンコードする負担も大きい
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 22
WebAPIを活用するためのPHP関数
• file_get_contests()関数
– file_get_contestsは元々サーバ上のファイルを開くための関数で
すが、外部サイトのURLにリクエストを送信し、結果を変数に
格納することができます。
– GETメソッドでリクエストを送信します。
• cURL
– cURLはhttp等の通信プロトコルをサポートする高機能なクラス
です。
– POSTメソッドで情報を送信したい場合や、厳密なエラー処理・
エラーコードの取得を行いたい場合に利用します。
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 23
WebAPIを試してみよう
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 24
WebAPIを試す
• 郵便番号検索API
– URL
• http://zip.cgis.biz/
– 機能
• 郵便番号を元に住所情報を返してくれるAPIです。
– 使い方
• SimpleAPIのURLに続けて知りたい郵便番号を渡します
– 例:http://zip2.cgis.biz/xml/zip.php?zn=1130033
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 25
郵便番号検索APIの結果
<ZIP_result>
<result name="ZipSearchXML"/>
<result version="1.01"/>
<result
request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1130033"/>
<result request_zip_num="1130033"/>
<result request_zip_version="none"/>
<result result_code="1"/>
<result result_zip_num="1130033"/>
<result result_zip_version="0"/>
<result result_values_count="1"/>
<ADDRESS_value>
※次ページに記載
</ADDRESS_value>
</ZIP_result>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 26
郵便番号検索APIの結果
<ADDRESS_value>
<value state_kana="トウキョウト"/>
<value city_kana="ブンキョウク"/>
<value address_kana="ホンゴウ"/>
<value company_kana="none"/>
<value state="東京都"/>
<value city="文京区"/>
<value address="本郷"/>
<value company="none"/>
</ADDRESS_value>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 27
結果をPHPで取得してみよう
• 結果をPHPで取得してみよう
– file_get_contents()関数
• URLを元にコンテンツを取得する
<?php
$url = "http://zip2.cgis.biz/xml/zip.php?zn=1130033";
$result = file_get_contents($url);
echo $result;
//echo htmlspecialchars($result, ENT_QUOTES, "UTF-8");
?>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 28
取得結果
• ブラウザで開いてHTMLソースを確認した様子
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 29
XMLについて
• 先ほどの結果情報はXML形式のテキストです
– XMLとは?
• HTMLのようなタグで意味づけするマークアップ言語
• 汎用的に利用することが出来る
• ブログの更新情報をまとめたRSSなどもXMLを活用し
ている
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 30
PHPでXMLを扱う方法
• PHPでXMLを扱う方法
– SimpleXML拡張モジュール
• XMLをオブジェクトとして変換する
• 値をオブジェクトのプロパティとして参照できる
• foreachなどで繰り返し処理にかけることができる
<?php
$url = "http://zip2.cgis.biz/xml/zip.php?zn=1130033";
$xml = simplexml_load_file($url);
// オブジェクトを確認
var_dump($xml);
// 市区町村情報を文字列として出力
echo (string) $xml->ADDRESS_value->value[5]->attributes()->city;
?>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 31
郵便番号APIの活用例
• 郵便番号APIの活用例
– 住所入力補助を行うデモが同サイトで公開されています
• http://zip.cgis.biz/sample/zip_search_xml.php
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 32
WebAPIを試す∼その2
• お天気API(OpenWeatherMap)
– URL
• http://openweathermap.org/
– 機能
• 都市名や緯度経度などから天気情報を返してくれるAPIです
– 使い方
• 例:東京の天気情報を取得
– http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 33
OpenWeatherMap APIの結果
{"coord":{"lon":139.69,"lat":35.69},"sys":{"message":0.0881,"country":"JP","sunrise
":1425330515,"sunset":1425371868},"weather":[{"id":500,"main":"Rain","descript
ion":"light rain","icon":"10n"}],"base":"cmc
stations","main":{"temp":278.308,"temp_min":278.308,"temp_max":278.308,"pres
sure":1022.61,"sea_level":1027.62,"grnd_level":1022.61,"humidity":100},"wind":{"
speed":1.67,"deg":333},"clouds":{"all":92},"rain":{"3h":1},"dt":1425397219,"id":185
0147,"name":"Tokyo","cod":200}
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 34
JSONについて
• 先ほどの結果情報はJSON形式のテキストです
– JSONとは?
• JavaScript言語でオブジェクトを表現する時の表記方法
• PHPでも利用可能
– json_decode()やjson_encode()関数を使う
<?php
$url = "http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp";
$json = file_get_contents($url);
$result = json_decode($json);
// オブジェクトを確認
var_dump($result);
// 天気情報を出力
echo $result->weather[0]->main;
?>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 35
取得結果
• ブラウザで開いてHTMLソースを確認した様子
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 36
GETではなくPOSTしたい場合
• GETではなくPOSTしたい場合
– POSTやその他複雑なリクエストを送りたい場合はcURLが便利です
• cURLとは
– HTTPをはじめとした様々な通信に対応したライブラリ
• クッキーなどのヘッダーも送れます
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 37
POSTの実験
• POSTの実験
– 『認証なし』で利用できる手頃なAPIを見つけられませんでした
• 自分のサイトの掲示板に投稿します
– http://illustphp.com/5/index.php
name
comment
submit
POSTで投稿可能
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 38
POSTの実験
• 手順
– curlのセッションを初期化
– 送り先のURLと送り方(POST)、送信データをcurlに設定
• http_build_queryでデータをURLエンコード
– curlのセッションを実行
– curlのセッションを終了
<?php
$url = "http://illustphp.com/5/write.php";
$data = array('name' => '岡本', 'comment' => 'スクー出演!', 'submit' => 1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_exec($ch);
curl_close($ch);
?>
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 39
【次回予告】マッシュアップ
URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 40
マッシュアップとは
• 複数のWebAPI(と自分のコンテンツやアイディア)を組み合わせて、新
しいサービスを作り上げることを「マッシュアップ」と呼びます。
• 次回予告!
– 楽天商品検索とYahoo!ショッピング商品検索を組み合わせて、複数のショッ
ピングサイトから商品を検索するアプリを作ってみましょう。

Más contenido relacionado

La actualidad más candente

大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化DeNA
 
【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろうKohei Nakamura
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)iret, Inc.
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバHidetaka Kojo
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~啓 杉本
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得Reimi Kuramochi Chiba
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAmazon Web Services Japan
 
Jitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみたJitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみたtnoho
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技yoku0825
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステムl_b__
 

La actualidad más candente (20)

大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)cloudpackサーバ仕様書(サンプル)
cloudpackサーバ仕様書(サンプル)
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
 
エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得エンジニアから飛んでくるマサカリを受け止める心得
エンジニアから飛んでくるマサカリを受け止める心得
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
Jitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみたJitsi video bridge で遊んでみた
Jitsi video bridge で遊んでみた
 
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 

Similar a PHP実践 ~外部APIを使って情報を取得する~

WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 
JavaScript祭りLTでmonacaを紹介
JavaScript祭りLTでmonacaを紹介JavaScript祭りLTでmonacaを紹介
JavaScript祭りLTでmonacaを紹介Yuki Okamoto
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonightAmazon Web Services Japan
 
Api gurunavi
Api gurunaviApi gurunavi
Api gurunaviJun Chiba
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleSoft Meetup Tokyo
 
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」MasashiOtsuka1
 
チラ見せ! マイソースファクトリーでのAws活用 修正
チラ見せ! マイソースファクトリーでのAws活用 修正チラ見せ! マイソースファクトリーでのAws活用 修正
チラ見せ! マイソースファクトリーでのAws活用 修正Yutaka Fujisaki
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
近年若者のサーバー離れが深刻化しています
近年若者のサーバー離れが深刻化しています近年若者のサーバー離れが深刻化しています
近年若者のサーバー離れが深刻化していますf-shingo
 
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonightAmazon Web Services Japan
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編Monaca
 
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE 陽平 山口
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python Yasuhiro Matsuo
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみたKeiji Kamebuchi
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方makiskmt
 

Similar a PHP実践 ~外部APIを使って情報を取得する~ (20)

WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
JavaScript祭りLTでmonacaを紹介
JavaScript祭りLTでmonacaを紹介JavaScript祭りLTでmonacaを紹介
JavaScript祭りLTでmonacaを紹介
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
 
Api gurunavi
Api gurunaviApi gurunavi
Api gurunavi
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
 
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」
SAP Inside Track 2018 LT資料「ABAPerが触ってきた SAP Cloud PlatformのABAP環境 」
 
WordPressAPI
WordPressAPIWordPressAPI
WordPressAPI
 
Webdb2011 hadoop
Webdb2011 hadoopWebdb2011 hadoop
Webdb2011 hadoop
 
チラ見せ! マイソースファクトリーでのAws活用 修正
チラ見せ! マイソースファクトリーでのAws活用 修正チラ見せ! マイソースファクトリーでのAws活用 修正
チラ見せ! マイソースファクトリーでのAws活用 修正
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
近年若者のサーバー離れが深刻化しています
近年若者のサーバー離れが深刻化しています近年若者のサーバー離れが深刻化しています
近年若者のサーバー離れが深刻化しています
 
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
 
楽天のSplunk as a service
楽天のSplunk as a service楽天のSplunk as a service
楽天のSplunk as a service
 
Groonga meetup20151129
Groonga meetup20151129Groonga meetup20151129
Groonga meetup20151129
 
HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編HTML5ハイブリッド アプリ開発実践編
HTML5ハイブリッド アプリ開発実践編
 
JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
AzureでLaravel動かしてみた
AzureでLaravel動かしてみたAzureでLaravel動かしてみた
AzureでLaravel動かしてみた
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方
アンドロイド電子書籍アプリ作成キットを使ったアプリの作り方
 

Más de schoowebcampus

ビジネスプラン概要資料 New
ビジネスプラン概要資料 Newビジネスプラン概要資料 New
ビジネスプラン概要資料 Newschoowebcampus
 
schoo法人利用-ビジネスプランのご案内
schoo法人利用-ビジネスプランのご案内schoo法人利用-ビジネスプランのご案内
schoo法人利用-ビジネスプランのご案内schoowebcampus
 
i.school, The University of Tokyo "Methods of concept designing and user surv...
i.school, The University of Tokyo "Methods of concept designing and user surv...i.school, The University of Tokyo "Methods of concept designing and user surv...
i.school, The University of Tokyo "Methods of concept designing and user surv...schoowebcampus
 
i.school, The University of Tokyo "Divergence, convergence, and expression of...
i.school, The University of Tokyo "Divergence, convergence, and expression of...i.school, The University of Tokyo "Divergence, convergence, and expression of...
i.school, The University of Tokyo "Divergence, convergence, and expression of...schoowebcampus
 
i.school, The University of Tokyo "The purposes and methods of technological ...
i.school, The University of Tokyo "The purposes and methods of technological ...i.school, The University of Tokyo "The purposes and methods of technological ...
i.school, The University of Tokyo "The purposes and methods of technological ...schoowebcampus
 
i.school, The University of Tokyo "The purposes and methods of interviews and...
i.school, The University of Tokyo "The purposes and methods of interviews and...i.school, The University of Tokyo "The purposes and methods of interviews and...
i.school, The University of Tokyo "The purposes and methods of interviews and...schoowebcampus
 
i.school, The University of Tokyo "Foundation and methodology in creating inn...
i.school, The University of Tokyo "Foundation and methodology in creating inn...i.school, The University of Tokyo "Foundation and methodology in creating inn...
i.school, The University of Tokyo "Foundation and methodology in creating inn...schoowebcampus
 
ポートフォリオ公開後のマーケティング法
ポートフォリオ公開後のマーケティング法ポートフォリオ公開後のマーケティング法
ポートフォリオ公開後のマーケティング法schoowebcampus
 
授業資料(スクー)
授業資料(スクー)授業資料(スクー)
授業資料(スクー)schoowebcampus
 
個人事業主・フリーランスのための確定申告 ~白色申告編~
個人事業主・フリーランスのための確定申告 ~白色申告編~個人事業主・フリーランスのための確定申告 ~白色申告編~
個人事業主・フリーランスのための確定申告 ~白色申告編~schoowebcampus
 
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1schoowebcampus
 
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)schoowebcampus
 
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)schoowebcampus
 
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】schoowebcampus
 
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司schoowebcampus
 
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座schoowebcampus
 

Más de schoowebcampus (20)

Compl exxx after
Compl exxx afterCompl exxx after
Compl exxx after
 
Compl exxx before
Compl exxx beforeCompl exxx before
Compl exxx before
 
ビジネスプラン概要資料 New
ビジネスプラン概要資料 Newビジネスプラン概要資料 New
ビジネスプラン概要資料 New
 
2479
24792479
2479
 
schoo法人利用-ビジネスプランのご案内
schoo法人利用-ビジネスプランのご案内schoo法人利用-ビジネスプランのご案内
schoo法人利用-ビジネスプランのご案内
 
i.school, The University of Tokyo "Methods of concept designing and user surv...
i.school, The University of Tokyo "Methods of concept designing and user surv...i.school, The University of Tokyo "Methods of concept designing and user surv...
i.school, The University of Tokyo "Methods of concept designing and user surv...
 
i.school, The University of Tokyo "Divergence, convergence, and expression of...
i.school, The University of Tokyo "Divergence, convergence, and expression of...i.school, The University of Tokyo "Divergence, convergence, and expression of...
i.school, The University of Tokyo "Divergence, convergence, and expression of...
 
i.school, The University of Tokyo "The purposes and methods of technological ...
i.school, The University of Tokyo "The purposes and methods of technological ...i.school, The University of Tokyo "The purposes and methods of technological ...
i.school, The University of Tokyo "The purposes and methods of technological ...
 
i.school, The University of Tokyo "The purposes and methods of interviews and...
i.school, The University of Tokyo "The purposes and methods of interviews and...i.school, The University of Tokyo "The purposes and methods of interviews and...
i.school, The University of Tokyo "The purposes and methods of interviews and...
 
i.school, The University of Tokyo "Foundation and methodology in creating inn...
i.school, The University of Tokyo "Foundation and methodology in creating inn...i.school, The University of Tokyo "Foundation and methodology in creating inn...
i.school, The University of Tokyo "Foundation and methodology in creating inn...
 
ポートフォリオ公開後のマーケティング法
ポートフォリオ公開後のマーケティング法ポートフォリオ公開後のマーケティング法
ポートフォリオ公開後のマーケティング法
 
1840
18401840
1840
 
授業資料(スクー)
授業資料(スクー)授業資料(スクー)
授業資料(スクー)
 
個人事業主・フリーランスのための確定申告 ~白色申告編~
個人事業主・フリーランスのための確定申告 ~白色申告編~個人事業主・フリーランスのための確定申告 ~白色申告編~
個人事業主・フリーランスのための確定申告 ~白色申告編~
 
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1
初心者でもUnityアプリに広告実装!広告も簡単に導入できる!儲かるアプリ講座【appC cloud school】Unityシリーズ vol.1
 
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)
少ない資金でシステム開発を委託する方法(補助金と類似事例の有無)
 
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)
補助金で合格しやすい事業計画の作り方(主に創業補助金、ものづくり補助金)
 
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】
アプリ開発したい人必見!Swiftを使ってiPhoneアプリに広告実装!【appC cloud school】
 
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司
快適にWebデザインするためのフリーランスの仕事の流れ【プロジェクトマネジメント編】夏本 健司
 
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座
ゲームや映像で使えるフリー音楽素材「魔王魂」の運営者に聞く、BGM・効果音活用講座
 

Último

HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用wataruhonda3
 
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profilevrihomepage
 
ROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfhirokisawa3
 
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社hmoriyama
 
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパンYusuke Katsuma
 
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続Yusuke Katsuma
 
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』Kousuke Kuzuoka
 
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------ssusercbaf23
 
chouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfchouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfssuser31dbd1
 
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。takuyamatsumoto29
 
hakuten_company profile for saleshub_202404
hakuten_company profile for saleshub_202404hakuten_company profile for saleshub_202404
hakuten_company profile for saleshub_202404keiibayashi
 

Último (12)

HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
HRMOS(ハーモス)タレントマネジメント_ご紹介資料_Saleshub掲載用
 
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
株式会社ベクトル総研会社概要 Vector Research Institute (VRI) Corporate Profile
 
ROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdfROMS_recruting_deck_for_website_20240322.pdf
ROMS_recruting_deck_for_website_20240322.pdf
 
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
コダワリ抜いた経営指南書(概要版) - コダワリ・ビジネス・コンサルティング株式会社
 
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
第15回販促コンペ 審査員個人賞(林 知幸 氏) アルカナ? アディダスジャパン
 
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
JAPAN WEB3.0 AWARD 2023 ブロックチェーン(NFT)技術を活用したアイディア 優秀賞作品 遺3.0相続
 
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
エンジニア採用のミスマッチを防ぐコーディング試験サービス『HireRoo(ハイヤールー)』
 
Japan IT Week 2024 Brochure by 47Billion
Japan IT Week 2024 Brochure by 47BillionJapan IT Week 2024 Brochure by 47Billion
Japan IT Week 2024 Brochure by 47Billion
 
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
HCCソフト株式会社 2025年新卒採用向け 会社紹介・採用情報資料------
 
chouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdfchouhou_obuse_reiwa6nenn_4_2404slide.pdf
chouhou_obuse_reiwa6nenn_4_2404slide.pdf
 
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
株式会社AllAdsと申します。サービス紹介資料で御座いますので、是非ご覧くださいませ。
 
hakuten_company profile for saleshub_202404
hakuten_company profile for saleshub_202404hakuten_company profile for saleshub_202404
hakuten_company profile for saleshub_202404
 

PHP実践 ~外部APIを使って情報を取得する~

  • 1. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 1 PHP実践∼外部APIを使って情報を取得する∼ アシアル株式会社 岡本雄樹
  • 2. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 2 自己紹介 • 名前 – 岡本雄樹 (ハンドルネーム:ジャスティス岡本) • 職業 – アシアルという会社で教育事業を営んでおります • 略歴 – プログラミングを始めたきっかけ • 高校生の時に「プログラミングコンテスト」があるのでプログラムを作るよう 部活の顧問に指示されたため、簡単そうだったのでPHPを独学で始める。 – プログラミングの仕事をしながら大学に通う • ベンチャー企業で勤怠管理システムの開発に携わったり、通販企業で働いてい たらいつの間にか社内SEになっており、システム構築からサーバの運用などシ ステム面を一手に引き受ける。 – 新卒(?)でアシアル入社 • 主にECサイトの自社パッケージ開発や多数のEC案件に関わる。 – 教育事業を独立させる • 新規事業会議で、新規も良いですが既存の教育事業を強化しましょうと提案、 3ヶ月後に配置配属。1年後にマネージャーとなる。 • ブログ:ジャスティス岡本の週末ハッカー – http://j801.com/ • 著書 – 「イラストでよくわかるPHP はじめてのWebプログラミング入門」
  • 3. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 3 外部APIを使うメリット • 自分のWebサービスに様々な情報を取り込めます – ニュース、天気、通販サイトの商品情報など • アイディア次第で面白いサービスや便利なサービスを作 ることが出来るようになります
  • 4. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 4 事前準備 • APIアカウントの用意 –今回は不要 • PHP実行環境 • 実習用のソースコード –今回は配布なし
  • 5. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 5 アジェンダ • 第一回 – WebAPIとは • 主なAPI提供サイト • PHPからAPIを利用するための技術 – WebAPIを試す • 郵便番号APIを試してみよう • お天気APIを試してみよう • POSTリクエストをPHPで行う方法 • 第二回 – 複数のAPIを組み合わせてマッシュアップを行う • 第三回 – Twitter検索アプリの作成
  • 6. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 6 WebAPIとは
  • 7. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 7 WebAPIとは • そもそもAPIとは – Application (アプリケーション) – Program(プログラム) – Interface(インタフェース) • 他のアプリケーションに対して特定機能 を簡潔に呼び出せるように、インタ フェースを規定したものです。
  • 8. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 8 APIの例 • APIの例 – ブラウザ(HTML5) • 位置情報を取得するAPIや画面に絵を描くためのAPIが提供 されています。 – OS • フォルダやファイルの管理、ウィンドウの表示をはじめ様々 な機能がAPIとして提供されています。 – Webサービス • 一部のWebサービスは外部のWebサービスやアプリから連携 できるように、WebAPIを開放しています。
  • 9. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 9 WebAPIとは • Web APIの特徴 – 提供元 • 色々なWebサイトが提供しています – 楽天やTwitter、Googleなど – 代表的な機能 • 情報を取得する機能 – 例:商品一覧など • 情報を加工する機能 – 例:数字を渡すとグラフで返してくれるAPIなど
  • 10. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 10 主なAPI提供サイト
  • 11. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 11 Yahoo! JAPAN • 主な提供機能 – 検索 – 地図 – オークション – ショッピング – ニュース • 情報源 – デベロッパーネットワークトップにて公開 • http://developer.yahoo.co.jp/
  • 12. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 12 Google • 主な提供機能 – Google Maps – Custom Search API • 情報源 – https://developers.google.com/
  • 13. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 13 楽天ウェブサービス • 主な提供機能 – 楽天市場 – 楽天ブックス – 楽天オークション – 楽天トラベル • 情報源 – http://webservice.rakuten.co.jp/
  • 14. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 14 Amazon • 主な提供機能 – 商品検索 – AWSの管理API • 情報源 – http://www.amazon.co.jp/gp/feature.html?docId =451209
  • 15. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 15 Twitter • 主な提供機能 – 検索 – ツイート – 他、殆ど全ての機能 • 情報源 – https://dev.twitter.com/
  • 16. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 16 WebAPIを公開する理由
  • 17. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 17 WebAPIを提供する側のメリット • API利用が売り上げと直結しているケース – 課金、 EC2、商用地図など • 自社サイトの宣伝やアフィリエイトと結びついている ケース – 楽天やAmazon等 • エコシステムの構築(サードパーティー製アプリなど) – TwitterやFacebookは多くの機能をAPI提供している • サードバーティ製のサイトやクライアントアプリが豊富。 – サードパーティーが盛り上がれば利用者が増える » それに伴い「会員」や「データ」などの資産が増える
  • 18. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 18 WebAPIの活用方法 • WebAPIの活用方法 – 表現力向上 • 地図やグラフを描画するAPIで表現力を向上させる – 利便性向上 • お天気APIやニュースAPIを利用してサイトの利便性を向上させる – アフィリエイト • サイトにAmazonや楽天の商品を自動掲載してアフィリエイト収入 を得る – 口コミマーケティング • Twitter連携を行うことで口コミに乗りやすくする。 – 記事を投稿すると自動的にTwitterにURLを投稿 – 自社サイトを宣伝するBotを作る – 課金 • オンライン決済会社が提供するAPIを利用し課金を行う
  • 19. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 19 APIを利用するための技術
  • 20. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 20 APIプロトコル • REST(Representational State Transfer) – 特定のURLにGETやPOSTでリクエストすることにより、データ の取得などの何らかの操作を行うことができます。現在の主流 です。 • SOAP – 古くから利用されているXMLを応用したオブジェクトデータ通 信の規格です。拡張性の高さが強みですが複雑なため近年では 廃れつつあります。
  • 21. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 21 データ形式 • JSON(JavaScript Object Notation) – JavaScriptにおけるオブジェクトの記述方法と同じ文法のデータ形式です。データが軽量か つJavascriptから楽に扱えるため、Webアプリケーションと相性が良いのが特徴です。この ため、最近のWebAPIはJSONをサポートしているものが多いです。 – JavaScript以外の言語からの呼び出し • PHPからもjson_encode/decode関数を使うことで、簡単に扱うことが可能です(PHP5.2以降) • XML – 独自のフォーマットを作成することができる、汎用性の高いデータ形式です。RSSなどの フォーマットとして採用されています。 – メリット • 情報を規格化することができる • 人間にも読みやすい形式である – デメリット • タグ構造のためデータが冗長で重たくなる • PHP等でデコード(パース)やエンコードする負担も大きい
  • 22. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 22 WebAPIを活用するためのPHP関数 • file_get_contests()関数 – file_get_contestsは元々サーバ上のファイルを開くための関数で すが、外部サイトのURLにリクエストを送信し、結果を変数に 格納することができます。 – GETメソッドでリクエストを送信します。 • cURL – cURLはhttp等の通信プロトコルをサポートする高機能なクラス です。 – POSTメソッドで情報を送信したい場合や、厳密なエラー処理・ エラーコードの取得を行いたい場合に利用します。
  • 23. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 23 WebAPIを試してみよう
  • 24. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 24 WebAPIを試す • 郵便番号検索API – URL • http://zip.cgis.biz/ – 機能 • 郵便番号を元に住所情報を返してくれるAPIです。 – 使い方 • SimpleAPIのURLに続けて知りたい郵便番号を渡します – 例:http://zip2.cgis.biz/xml/zip.php?zn=1130033
  • 25. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 25 郵便番号検索APIの結果 <ZIP_result> <result name="ZipSearchXML"/> <result version="1.01"/> <result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1130033"/> <result request_zip_num="1130033"/> <result request_zip_version="none"/> <result result_code="1"/> <result result_zip_num="1130033"/> <result result_zip_version="0"/> <result result_values_count="1"/> <ADDRESS_value> ※次ページに記載 </ADDRESS_value> </ZIP_result>
  • 26. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 26 郵便番号検索APIの結果 <ADDRESS_value> <value state_kana="トウキョウト"/> <value city_kana="ブンキョウク"/> <value address_kana="ホンゴウ"/> <value company_kana="none"/> <value state="東京都"/> <value city="文京区"/> <value address="本郷"/> <value company="none"/> </ADDRESS_value>
  • 27. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 27 結果をPHPで取得してみよう • 結果をPHPで取得してみよう – file_get_contents()関数 • URLを元にコンテンツを取得する <?php $url = "http://zip2.cgis.biz/xml/zip.php?zn=1130033"; $result = file_get_contents($url); echo $result; //echo htmlspecialchars($result, ENT_QUOTES, "UTF-8"); ?>
  • 28. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 28 取得結果 • ブラウザで開いてHTMLソースを確認した様子
  • 29. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 29 XMLについて • 先ほどの結果情報はXML形式のテキストです – XMLとは? • HTMLのようなタグで意味づけするマークアップ言語 • 汎用的に利用することが出来る • ブログの更新情報をまとめたRSSなどもXMLを活用し ている
  • 30. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 30 PHPでXMLを扱う方法 • PHPでXMLを扱う方法 – SimpleXML拡張モジュール • XMLをオブジェクトとして変換する • 値をオブジェクトのプロパティとして参照できる • foreachなどで繰り返し処理にかけることができる <?php $url = "http://zip2.cgis.biz/xml/zip.php?zn=1130033"; $xml = simplexml_load_file($url); // オブジェクトを確認 var_dump($xml); // 市区町村情報を文字列として出力 echo (string) $xml->ADDRESS_value->value[5]->attributes()->city; ?>
  • 31. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 31 郵便番号APIの活用例 • 郵便番号APIの活用例 – 住所入力補助を行うデモが同サイトで公開されています • http://zip.cgis.biz/sample/zip_search_xml.php
  • 32. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 32 WebAPIを試す∼その2 • お天気API(OpenWeatherMap) – URL • http://openweathermap.org/ – 機能 • 都市名や緯度経度などから天気情報を返してくれるAPIです – 使い方 • 例:東京の天気情報を取得 – http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp
  • 33. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 33 OpenWeatherMap APIの結果 {"coord":{"lon":139.69,"lat":35.69},"sys":{"message":0.0881,"country":"JP","sunrise ":1425330515,"sunset":1425371868},"weather":[{"id":500,"main":"Rain","descript ion":"light rain","icon":"10n"}],"base":"cmc stations","main":{"temp":278.308,"temp_min":278.308,"temp_max":278.308,"pres sure":1022.61,"sea_level":1027.62,"grnd_level":1022.61,"humidity":100},"wind":{" speed":1.67,"deg":333},"clouds":{"all":92},"rain":{"3h":1},"dt":1425397219,"id":185 0147,"name":"Tokyo","cod":200}
  • 34. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 34 JSONについて • 先ほどの結果情報はJSON形式のテキストです – JSONとは? • JavaScript言語でオブジェクトを表現する時の表記方法 • PHPでも利用可能 – json_decode()やjson_encode()関数を使う <?php $url = "http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp"; $json = file_get_contents($url); $result = json_decode($json); // オブジェクトを確認 var_dump($result); // 天気情報を出力 echo $result->weather[0]->main; ?>
  • 35. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 35 取得結果 • ブラウザで開いてHTMLソースを確認した様子
  • 36. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 36 GETではなくPOSTしたい場合 • GETではなくPOSTしたい場合 – POSTやその他複雑なリクエストを送りたい場合はcURLが便利です • cURLとは – HTTPをはじめとした様々な通信に対応したライブラリ • クッキーなどのヘッダーも送れます
  • 37. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 37 POSTの実験 • POSTの実験 – 『認証なし』で利用できる手頃なAPIを見つけられませんでした • 自分のサイトの掲示板に投稿します – http://illustphp.com/5/index.php name comment submit POSTで投稿可能
  • 38. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 38 POSTの実験 • 手順 – curlのセッションを初期化 – 送り先のURLと送り方(POST)、送信データをcurlに設定 • http_build_queryでデータをURLエンコード – curlのセッションを実行 – curlのセッションを終了 <?php $url = "http://illustphp.com/5/write.php"; $data = array('name' => '岡本', 'comment' => 'スクー出演!', 'submit' => 1); $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_exec($ch); curl_close($ch); ?>
  • 39. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 39 【次回予告】マッシュアップ
  • 40. URL : http://www.asial.co.jp/ │ Copyright © 2015 Asial Corporation. All Rights Reserved. │ 40 マッシュアップとは • 複数のWebAPI(と自分のコンテンツやアイディア)を組み合わせて、新 しいサービスを作り上げることを「マッシュアップ」と呼びます。 • 次回予告! – 楽天商品検索とYahoo!ショッピング商品検索を組み合わせて、複数のショッ ピングサイトから商品を検索するアプリを作ってみましょう。