SlideShare ist ein Scribd-Unternehmen logo
1 von 15
0からのプログラミング講座
     Stage6
 本⽂文書のいかなる部分をも、事前の許可なく複写したり転送したりすることはできません。




           © Toshiyuki Tanaka & Jun Chiba     1
ゴールイメージ


           l  Stage6のゴールイメージ




                   メールを送信した時のように
                   phpからFacebookのウォールに
                   投稿できること




                                                                          2	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
API(1/3)


           l  API = Application Program Interface
                -  プログラムをより簡単に実装できるよう⽤用意された関数群
                   (ライブラリ)を利利⽤用するための仕組み

                        通常のプログラミング                                         APIを使ったプログラミング

                             ⼊入⼒力力値                                            ⼊入⼒力力値

                                                                                                 もともと⽤用意されている
                                        処理理                                             API
                                                     ⾃自分で実装                                      →呼び出して利利⽤用するだけで
                                                                                                   結果を得られる

                                              出⼒力力値                                           出⼒力力値




                   -    あらかじめ、さまざまな処理理を⾏行行うAPIが⽤用意されていれ
                        ば、プログラマはそれらを組み合せるだけで、⽬目的の処理理
                        結果をプログラムから得ることができます。


                                                                                                                   3	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
API(2/3)


           l  簡単にいうと・・・
               -  GoogleやYahoo、Facebook、Twitterなどの既存の
                 システムの機能や、データベースにアクセスするための仕組み    
           あなたのプログラム


                                                        この予定を
                                                     Googleカレンダーに
                                                       登録しておいて


                                                           Google  API

           あなたのプログラム

                                                  #zeroprmっていう
                                                 ハッシュタグがついた
                                                ツイートを20件ちょうだい


                                                           Twitter  API
                                                                               4	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
API(3/3)


           l  APIの種類
                -  世の中にはサービスがAPIを公開しています。
                -  Google、Yahoo、Facebook、Twitter、はてな
                  ホットペッパー、Amazon、じゃらん・・・
                -  書ききれないのでここを参照!
                    ü http://ma8.mashupaward.jp/apis?locale=ja

           l  APIを公開する理理由
                -  マッシュアップによって⾃自社にはないコンテンツを
                  提供する為と、⾃自社サービスの利利⽤用を急速に拡⼤大する為
                  等の理理由があると思います。

                   例例:Twitter
                   TwitterはTwitterクライアントというマッシュアップサービス
                   によって使いやすくなり、多くの⼈人に利利⽤用されている。                                5	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(1/8)


           l  Facebook APIを使う

                   -    今回は数あるAPIの中からFacebookのAPIを利利⽤用してみた
                        いと思います。

                   -    イメージとしてはFacebook社が管理理しているデータベー
                        スに対して、プロフィール情報の取得や、つぶやき情報を
                        登録できるようになります。

                   -    ただし、Facebook社としては直接的にデータベースに命
                        令令を実⾏行行できるようにしてしまうと、全データを削除され
                        る危険性もあるので、APIという仕組みを使って各種デー
                        タにアクセスできるようにしています。



                                                                             6	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(2/8)


           l  Facebook APIを使う

                   -    まずはこのサイトからFacebook APIを利利⽤用するために
                        Facebookが⽤用意してくれているファイルをダウンロード
                        してみましょう。(Zipボタンでダウンロードできます)
                         ü https://github.com/facebook/facebook-php-sdk




                                   ZIPを
                                  クリック
                                                                             7	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(3/8)


           l  Facebook APIを使う

                   -    ダウンロードしたZipファイルを解凍すると(ダブルク
                        リックで解凍できます)、中にはexamplesやsrcといった
                        フォルダが⼊入っていることが確認できると思います。




                                                                             8	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(4/8)


           l  Facebook APIを使う

                   -    examplesフォルダの中のexample.phpがサンプルプログラ
                        ムとなります。サクラエディタまたはKeditで開いて中を
                        ⾒見見てみましょう。




                                                                             9	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(5/8)


           l  Facebook APIを使う
                -  example.phpのappId,secretを以下のように編集して保存
                   下さい。
           ・・・なんか書いてある。ここはいじらない。・・・

           require '../src/facebook.php';

           //ここ数値は、このアプリのIDが334993866548043で、
           //このアプリのパスワードが9a185006487e4f063059f26f2aa32859
           //ということを意味しています。(アプリによって異なります)
           $facebook = new Facebook(array(
               'appId'             => '334993866548043',
             'secret' => '9a185006487e4f063059f26f2aa32859',
           ));

           ・・・なんか色々書いてある。ここはいじらない。・・・

                                                                             10	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
補⾜足                                                         requireの意味


           l  別のファイルに書いてあることを呼び出す
               -  requireとは「要求する」という英単語の意味ですから、  
                  その後に書かれたファイルを要求する、という意味になり
                  ます。
               -  つまり、下のケースの場合、このプログラムから
                  facebook.phpに書いてあることを使うよ、という意味にな
                  ります。
               -  facebook.phpとは、Facebook社がFacebookアプリを開発
                  する⼈人向けに⽤用意してくれたファイルです。

                   -    ちなみに、 ../src/ とは、このファイルがあるフォルダの上
                        の階層(= ../)にあるsrcというフォルダの中にある、
                        facecook.phpを使うよ、という意味になります。

           require '../src/facebook.php';

                                                                           11	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(6/8)


           l  Facebook APIを使う
                -  examplesとsrcフォルダをフォルダごとアップロードしま
                   す。




                                                                             12	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(7/8)


           l  Facebook APIを使う
                -  htmlやphpを実⾏行行する⼿手順で先ほどのexample.phpを実⾏行行
                   してみましょう。




   examples/
    をクリック


                                            example.php
                                              をクリック
                                           login  facebook
                                                                             あなたのプロフィール
                                          のリンクをクリック
                                                                               が表⽰示される
                                                                                          13	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
Facebook API(8/8)


           l  Facebook APIを使う
                -  facebookから⾃自分の基本データの情報を取得している。
           ・・・なんか書いてある。ここはいじらない。・・・

           if ($user) {
             try {
              //facebookのapiからme(=自分)の情報を取得しろ、の意味
              //この1行で情報が取得できるのがapiの凄さ
                   $user_profile = $facebook->api('/me');

               } catch (FacebookApiException $e) {
                 error_log($e);
                 $user = null;
               }
           }
           ・・・なんか色々書いてある。ここはいじらない。・・・
                                                                             14	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
お疲れ様でした!!




                                                                          15	


Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (20)

Mg
MgMg
Mg
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Image register
Image registerImage register
Image register
 
Array twitter
Array twitterArray twitter
Array twitter
 
Mg2
Mg2Mg2
Mg2
 
Php1
Php1Php1
Php1
 
Geolocation
GeolocationGeolocation
Geolocation
 
Db
DbDb
Db
 
Library login3
Library login3Library login3
Library login3
 
System2 for h
System2 for hSystem2 for h
System2 for h
 
System4 like
System4 likeSystem4 like
System4 like
 
Shindan
ShindanShindan
Shindan
 
ゼロプロ3周年
ゼロプロ3周年ゼロプロ3周年
ゼロプロ3周年
 
Reservation
ReservationReservation
Reservation
 
System1 for h
System1 for hSystem1 for h
System1 for h
 
Api twitter
Api twitterApi twitter
Api twitter
 
System4 detail
System4 detailSystem4 detail
System4 detail
 
System1 ajax
System1 ajaxSystem1 ajax
System1 ajax
 
System1
System1System1
System1
 
D
DD
D
 

Ähnlich wie Api

Api facebook
Api facebookApi facebook
Api facebookJun Chiba
 
Login facebook
Login facebookLogin facebook
Login facebookJun Chiba
 
Api gurunavi
Api gurunaviApi gurunavi
Api gurunaviJun Chiba
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門Asami Abe
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみたshinya sakemoto
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Yahoo!デベロッパーネットワーク
 
「モダンPerl入門」の入門
「モダンPerl入門」の入門「モダンPerl入門」の入門
「モダンPerl入門」の入門Songhee Han
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストYoichiro Sakurai
 
APEX Workshop II 日本語版
APEX Workshop II 日本語版APEX Workshop II 日本語版
APEX Workshop II 日本語版Nakakoshi Yuji
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleSoft Meetup Tokyo
 
Python Hack A Thon 3 Facebook Application On A
Python Hack A Thon 3 Facebook Application On APython Hack A Thon 3 Facebook Application On A
Python Hack A Thon 3 Facebook Application On AAtsushi Odagiri
 
Apilecture for 2014/02/22 at shannonlab
Apilecture for 2014/02/22 at shannonlabApilecture for 2014/02/22 at shannonlab
Apilecture for 2014/02/22 at shannonlabYutaka Kobayshi
 
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるMakoto Shimoda
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるMichitaka Terada
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会guestadcb01
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会seiryo
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Frameworkryota ichie
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 

Ähnlich wie Api (20)

Api facebook
Api facebookApi facebook
Api facebook
 
Login facebook
Login facebookLogin facebook
Login facebook
 
Api gurunavi
Api gurunaviApi gurunavi
Api gurunavi
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
 
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみたGoogle Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
 
「モダンPerl入門」の入門
「モダンPerl入門」の入門「モダンPerl入門」の入門
「モダンPerl入門」の入門
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
 
APEX Workshop II 日本語版
APEX Workshop II 日本語版APEX Workshop II 日本語版
APEX Workshop II 日本語版
 
Rubykaigi2010
Rubykaigi2010Rubykaigi2010
Rubykaigi2010
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
 
Python Hack A Thon 3 Facebook Application On A
Python Hack A Thon 3 Facebook Application On APython Hack A Thon 3 Facebook Application On A
Python Hack A Thon 3 Facebook Application On A
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Apilecture for 2014/02/22 at shannonlab
Apilecture for 2014/02/22 at shannonlabApilecture for 2014/02/22 at shannonlab
Apilecture for 2014/02/22 at shannonlab
 
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Framework
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 

Mehr von Jun Chiba

セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』Jun Chiba
 
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料Jun Chiba
 
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)Jun Chiba
 
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料Jun Chiba
 
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料Jun Chiba
 
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」Jun Chiba
 
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料Jun Chiba
 
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプルJun Chiba
 
図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」Jun Chiba
 
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」Jun Chiba
 
無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプルJun Chiba
 
ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」Jun Chiba
 
ベストチームオンライン説明スライド
ベストチームオンライン説明スライドベストチームオンライン説明スライド
ベストチームオンライン説明スライドJun Chiba
 
死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版Jun Chiba
 
地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料Jun Chiba
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料Jun Chiba
 
死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料Jun Chiba
 
ヘリウムリング&フープリレー
ヘリウムリング&フープリレーヘリウムリング&フープリレー
ヘリウムリング&フープリレーJun Chiba
 
世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジJun Chiba
 
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプJun Chiba
 

Mehr von Jun Chiba (20)

セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
答えのないコンセンサスゲーム「無人島での出来事」運営用パワーポイントスライド説明資料
 
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
合意形成(コンセンサス)ゲーム「月での遭難 in 2025」(NASAゲーム2025)
 
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
システム思考、全体最適、SCMを体験から学ぶボードゲーム「ビールゲーム」概要説明資料
 
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
財務・会計を楽しく学ぶビジネスゲーム型財務・会計研修「財務の虎Lv.1」の概要説明資料
 
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
プロジェクトマネジメントを疑似体験するボードゲーム型企業研修「プロジェクトテーマパーク」
 
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
バルーンバ人文化を探れ!パワーポイント・動画マニュアル販売用のスライドシェア資料
 
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
内定者/新入社員向け ビジネスライティング研修用パワーポイントスライド販売用サンプル
 
図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」図形伝達ゲーム「グラコミ」
図形伝達ゲーム「グラコミ」
 
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
傾聴力を高めるビジネスゲーム「傾聴チャレンジ」
 
無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル無料アイスブレイクスライドサンプル
無料アイスブレイクスライドサンプル
 
ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」ストレスマネジメント体験ゲーム「ストマネ」
ストレスマネジメント体験ゲーム「ストマネ」
 
ベストチームオンライン説明スライド
ベストチームオンライン説明スライドベストチームオンライン説明スライド
ベストチームオンライン説明スライド
 
死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版死の疑似体験ワーク 対面版
死の疑似体験ワーク 対面版
 
地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料地図作成ゲーム「ジグソータウン」説明資料
地図作成ゲーム「ジグソータウン」説明資料
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料
 
死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料死の疑似体験ワーク(対面版)説明資料
死の疑似体験ワーク(対面版)説明資料
 
ヘリウムリング&フープリレー
ヘリウムリング&フープリレーヘリウムリング&フープリレー
ヘリウムリング&フープリレー
 
世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ世界記録を目指すマシュマロチャレンジ
世界記録を目指すマシュマロチャレンジ
 
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
相互理解ワークショップ、内定者懇親会で使えるワークスタイルトランプ
 

Api

  • 1. 0からのプログラミング講座 Stage6 本⽂文書のいかなる部分をも、事前の許可なく複写したり転送したりすることはできません。 © Toshiyuki Tanaka & Jun Chiba 1
  • 2. ゴールイメージ l  Stage6のゴールイメージ メールを送信した時のように phpからFacebookのウォールに 投稿できること 2 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 3. API(1/3) l  API = Application Program Interface -  プログラムをより簡単に実装できるよう⽤用意された関数群 (ライブラリ)を利利⽤用するための仕組み 通常のプログラミング APIを使ったプログラミング ⼊入⼒力力値 ⼊入⼒力力値 もともと⽤用意されている 処理理 API ⾃自分で実装 →呼び出して利利⽤用するだけで   結果を得られる 出⼒力力値 出⼒力力値 -  あらかじめ、さまざまな処理理を⾏行行うAPIが⽤用意されていれ ば、プログラマはそれらを組み合せるだけで、⽬目的の処理理 結果をプログラムから得ることができます。 3 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 4. API(2/3) l  簡単にいうと・・・ -  GoogleやYahoo、Facebook、Twitterなどの既存の   システムの機能や、データベースにアクセスするための仕組み     あなたのプログラム この予定を Googleカレンダーに 登録しておいて Google  API あなたのプログラム #zeroprmっていう ハッシュタグがついた ツイートを20件ちょうだい Twitter  API 4 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 5. API(3/3) l  APIの種類 -  世の中にはサービスがAPIを公開しています。 -  Google、Yahoo、Facebook、Twitter、はてな   ホットペッパー、Amazon、じゃらん・・・ -  書ききれないのでここを参照! ü http://ma8.mashupaward.jp/apis?locale=ja l  APIを公開する理理由 -  マッシュアップによって⾃自社にはないコンテンツを   提供する為と、⾃自社サービスの利利⽤用を急速に拡⼤大する為   等の理理由があると思います。 例例:Twitter TwitterはTwitterクライアントというマッシュアップサービス によって使いやすくなり、多くの⼈人に利利⽤用されている。 5 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 6. Facebook API(1/8) l  Facebook APIを使う -  今回は数あるAPIの中からFacebookのAPIを利利⽤用してみた いと思います。 -  イメージとしてはFacebook社が管理理しているデータベー スに対して、プロフィール情報の取得や、つぶやき情報を 登録できるようになります。 -  ただし、Facebook社としては直接的にデータベースに命 令令を実⾏行行できるようにしてしまうと、全データを削除され る危険性もあるので、APIという仕組みを使って各種デー タにアクセスできるようにしています。 6 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 7. Facebook API(2/8) l  Facebook APIを使う -  まずはこのサイトからFacebook APIを利利⽤用するために Facebookが⽤用意してくれているファイルをダウンロード してみましょう。(Zipボタンでダウンロードできます) ü https://github.com/facebook/facebook-php-sdk ZIPを クリック 7 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 8. Facebook API(3/8) l  Facebook APIを使う -  ダウンロードしたZipファイルを解凍すると(ダブルク リックで解凍できます)、中にはexamplesやsrcといった フォルダが⼊入っていることが確認できると思います。 8 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 9. Facebook API(4/8) l  Facebook APIを使う -  examplesフォルダの中のexample.phpがサンプルプログラ ムとなります。サクラエディタまたはKeditで開いて中を ⾒見見てみましょう。 9 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 10. Facebook API(5/8) l  Facebook APIを使う -  example.phpのappId,secretを以下のように編集して保存 下さい。 ・・・なんか書いてある。ここはいじらない。・・・ require '../src/facebook.php'; //ここ数値は、このアプリのIDが334993866548043で、 //このアプリのパスワードが9a185006487e4f063059f26f2aa32859 //ということを意味しています。(アプリによって異なります) $facebook = new Facebook(array( 'appId' => '334993866548043', 'secret' => '9a185006487e4f063059f26f2aa32859', )); ・・・なんか色々書いてある。ここはいじらない。・・・ 10 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 11. 補⾜足 requireの意味 l  別のファイルに書いてあることを呼び出す -  requireとは「要求する」という英単語の意味ですから、   その後に書かれたファイルを要求する、という意味になり ます。 -  つまり、下のケースの場合、このプログラムから facebook.phpに書いてあることを使うよ、という意味にな ります。 -  facebook.phpとは、Facebook社がFacebookアプリを開発 する⼈人向けに⽤用意してくれたファイルです。 -  ちなみに、 ../src/ とは、このファイルがあるフォルダの上 の階層(= ../)にあるsrcというフォルダの中にある、 facecook.phpを使うよ、という意味になります。 require '../src/facebook.php'; 11 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 12. Facebook API(6/8) l  Facebook APIを使う -  examplesとsrcフォルダをフォルダごとアップロードしま す。 12 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 13. Facebook API(7/8) l  Facebook APIを使う -  htmlやphpを実⾏行行する⼿手順で先ほどのexample.phpを実⾏行行 してみましょう。 examples/ をクリック example.php をクリック login  facebook あなたのプロフィール のリンクをクリック が表⽰示される 13 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 14. Facebook API(8/8) l  Facebook APIを使う -  facebookから⾃自分の基本データの情報を取得している。 ・・・なんか書いてある。ここはいじらない。・・・ if ($user) { try { //facebookのapiからme(=自分)の情報を取得しろ、の意味 //この1行で情報が取得できるのがapiの凄さ $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } ・・・なんか色々書いてある。ここはいじらない。・・・ 14 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .
  • 15. お疲れ様でした!! 15 Copyright (c) 2012 Toshiyuki Tanaka & Jun Chiba All rights reserved .