Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
WebAPIと連携してみよう(1)	
榊原防犯(株)代表取締役	
  
榊原 洋平
自己紹介	
•  榊原防犯(株)という株式会社を一人でやってま
す	
  
–  事業は今はアプリ受託開発メイン	
  
•  iOSもandroidも	
  
–  自社アプリも作ってます	
  
•  Simple	
  Photo	
  ...
今回の内容	
•  「既存」のWebAPIにアクセスしてみる	
  
•  JSONで受け取ったデータをパースして利用し
てみる	
  
•  WebAPIを利用したり、自分で作ったりできる
ようになると、アプリの幅が広がります!	
  
• ...
目次	
•  WebAPIとは	
  
•  WebAPIを利用する流れ	
  
•  ブラウザからWebAPIを叩いてみよう	
  
•  サンプルを触ってみよう	
  
•  コード解説	
  
– HTTP通信をする	
  
– JSON...
WebAPIとは	
•  Webサイトなどの開発のために、インターネッ
ト経由で利用できるAPI	
  
– HTTPで利用できるものがほとんど	
  
– 返り値の形式はAPIによってまちまちです	
  
•  JSON	
  
•  XML...
WebAPIの例	
•  AppStoreSearchAPI	
  
–  hHp://www.apple.com/itunes/affiliates/resources/documentaOon/itunes-­‐store-­‐web-­‐se...
WebAPIを利用する流れ	
1.	
  Web	
  APIにHTTPリクエスト	
3.	
  パースしていろいろ使う	
2.レスポンスを取得
ブラウザからWebAPIを叩いてみよう	
•  	
  HTTP	
  GETでリクエストできるWebAPIならブラ
ウザからでもいろいろと試すことができます	
  
•  早速、AppStoreSearchAPIを叩いてみましょう	
  
AppStoreSearchAPI	
•  まず、仕様を確認する	
  
–  hHp://www.apple.com/itunes/affiliates/resources/documentaOon/itunes-­‐store-­‐web-­‐...
サンプルを触ってみよう	
•  サンプルプロジェクトをダウンロードしてね	
  
hHp://www.ysakaki.net/sample/	
  
•  ダウンロードできたら、動かしてみよう!	
  
•  時間がなくて、あちこちから持ってき...
コード解説	
•  HTTP通信部分	
  
– ApiConnecOon.m	
  
– 普通は何度もあちこちで使い回すので、専用のク
ラスを用意しています	
  
– 67行目がポイント	
  
•  必ず非同期で通信しましょう	
  
•...
コード解説	
•  JSONのパース	
  
– パース自体は、ApiConnecOon.mの82行目だけ	
  
•  パースすると、JSONの構造に応じて、NSDicOonaryや
NSArrayに変換される	
  
•  そのまま使うとバ...
JSONのパース	
{	
  
	
  “resultCount”	
  :	
  “3”,	
  
	
  “results”	
  :	
   [	
  
	
   	
  {	
  “id”	
  :	
  “1”},	
  
	
   ...
おしまい	
質疑応答	
  
	
  
	
  
懇親会でもよろしくね	
  
Upcoming SlideShare
Loading in …5
×

WebAPIと連携してみよう(1)

2,725 views

Published on

第19回名古屋iPhoneアプリ開発者勉強会にて発表をしました。
WebAPIと連携するためのとっかかりとして、AppStoreのSearch APIを叩いてみる内容です。
かなり口頭で解説したので、スライドだけだと情報不足ではありますが・・・。

Published in: Technology

WebAPIと連携してみよう(1)

  1. 1. WebAPIと連携してみよう(1) 榊原防犯(株)代表取締役   榊原 洋平
  2. 2. 自己紹介 •  榊原防犯(株)という株式会社を一人でやってま す   –  事業は今はアプリ受託開発メイン   •  iOSもandroidも   –  自社アプリも作ってます   •  Simple  Photo  Album(15万DL)   •  ふせん手帳(12万DL)   •  超速300連写(12万DL)   •  などなど…   –  最近、Simple  Photo  Albumのandroid版も出しました   •  今のところ鳴かず飛ばずです(;_;)  
  3. 3. 今回の内容 •  「既存」のWebAPIにアクセスしてみる   •  JSONで受け取ったデータをパースして利用し てみる   •  WebAPIを利用したり、自分で作ったりできる ようになると、アプリの幅が広がります!   •  案内に中上級者向けって書かれたけど、上級者向けな内容は無いです、スミマセン・・・  
  4. 4. 目次 •  WebAPIとは   •  WebAPIを利用する流れ   •  ブラウザからWebAPIを叩いてみよう   •  サンプルを触ってみよう   •  コード解説   – HTTP通信をする   – JSONデータをパースする  
  5. 5. WebAPIとは •  Webサイトなどの開発のために、インターネッ ト経由で利用できるAPI   – HTTPで利用できるものがほとんど   – 返り値の形式はAPIによってまちまちです   •  JSON   •  XML   •  値のみ  
  6. 6. WebAPIの例 •  AppStoreSearchAPI   –  hHp://www.apple.com/itunes/affiliates/resources/documentaOon/itunes-­‐store-­‐web-­‐service-­‐search-­‐api.html   –  アップルが提供しているAPI   –  iTunes  StoreやApp  Storeを検索できます   –  返り値はJSON形式   –  今日はこれを使います   •  Yahoo!  Developer  Network   –  hHp://developer.yahoo.co.jp   –  Yahoo!JAPANが提供しているAPI   –  検索からオークションやショッピングなど様々   –  要登録   –  返り値はXML   –  リクエスト回数の制限があるので、アプリに組み込む場合は要注意   •  一日5万回とか、APIによって様々  
  7. 7. WebAPIを利用する流れ 1.  Web  APIにHTTPリクエスト 3.  パースしていろいろ使う 2.レスポンスを取得
  8. 8. ブラウザからWebAPIを叩いてみよう •   HTTP  GETでリクエストできるWebAPIならブラ ウザからでもいろいろと試すことができます   •  早速、AppStoreSearchAPIを叩いてみましょう  
  9. 9. AppStoreSearchAPI •  まず、仕様を確認する   –  hHp://www.apple.com/itunes/affiliates/resources/documentaOon/itunes-­‐store-­‐web-­‐service-­‐search-­‐api.html   –  “hHps://itunes.apple.com/search?parameterkeyvalue”   –  という感じでリクエストを送ればいいらしい   –  パラメータの仕様も確認する   •  日本のAppStoreを検索したいとき   –  media=so[ware   –  enOty=so[ware   –  country=JP   –  term=[query]   •  仕様にそったURLを作る   –  hHp://itunes.apple.com/search? media=so[ware&enOty=so[ware&country=JP&term=album   –  ブラウザでこのURLにアクセスしてみましょう   –  JSONデータが返ってきましたか?
  10. 10. サンプルを触ってみよう •  サンプルプロジェクトをダウンロードしてね   hHp://www.ysakaki.net/sample/   •  ダウンロードできたら、動かしてみよう!   •  時間がなくて、あちこちから持ってきたコードなので、いろいろと怪しいところがあります   –  野暮な突っ込みはご容赦ください   –  コメントが全然書いてなくてすみません  
  11. 11. コード解説 •  HTTP通信部分   – ApiConnecOon.m   – 普通は何度もあちこちで使い回すので、専用のク ラスを用意しています   – 67行目がポイント   •  必ず非同期で通信しましょう   •  同期通信だとメインスレッドがとまり、アプリがフリーズ したかのように見えてしまいます  
  12. 12. コード解説 •  JSONのパース   – パース自体は、ApiConnecOon.mの82行目だけ   •  パースすると、JSONの構造に応じて、NSDicOonaryや NSArrayに変換される   •  そのまま使うとバグの元になりやすい   •  専用のモデルクラスを用意してそこに突っ込むといい かも   –  サンプルはやってないけど^^;  
  13. 13. JSONのパース {    “resultCount”  :  “3”,    “results”  :   [      {  “id”  :  “1”},      {  “id”  :  “2”}    ]   } NSDicOonary*    data NSNumber*  resultCount  =  data[@”resultCount”];   NSArray*  results  =  data[@”results”]; NSDicOonary*  firstResult  =  results[0]; NSNumber*  firstId  =  firstResult[@”id”];
  14. 14. おしまい 質疑応答       懇親会でもよろしくね  

×