SlideShare a Scribd company logo
1 of 127
今さら聞けない
   facebook
   2011-12-21
株式会社マイネット・ジャパン
    伊藤 祐策
今日のテーマ
facebook
the Social Networking Service
今回は

 アプリ開発編
  使い方編
 の2本でお送りいたします
<アプリ開発編>
このセクションでは
facebookの実装の世界
 についてご紹介します
facebook
アプリ開発
といえば
facebook
Graph API
まずは
Graph APIを使うための
     基礎
  についてご紹介
題して
ここが凄いよ
 facebook
何が凄いのか?
facebook実装のここが凄い

1.データ構造がシンプル
2.URL構造がシンプル
3.APIがシンプル
simple is best!
1.データ構造がシンプ
     ル
facebookの中では
全てが「オブジェク
       ト」
これらが全部「オブジェクト」
• ユーザー
• Facebookページ
 – 場所(例:「東京都」)
 – 趣味(例:「野球」)
 – 言語設定の言語(例:「日本語」)
• ウォールへの投稿
• 共有した写真
• etc
オブジェクトは共通して
id と type という属性を持
           つ
基本オブジェクト

Object

  id
  type
しかもidは全て
同じID空間で管理されている
Object
                 status
User      link

                 Photo
       Page
例
for example
私のObjectIDは
11億6310万2843
    です
Facebookユーザーオブジェクト

User < Object
  id:1163102843
  type:user
  name:伊藤 祐策
  username:ito.yusaku
こんな感じで、
   IDさえわかれば
あらゆるオブジェクトを
 特定することができる
 仕組みになっている
ちなみに
facebookアプリ開発者が
絶対に使いこなしておくべ
きたった一つのfacebookア
          プリ
facebook公式アプリ
Graph API Explorer
これさえあればfacebookの
内部データ構造がまるわか
     り!
オブジェクトの話に戻って
facebookアプリ開発者が覚えておく
           べき
基本的な8種類のオブジェクトタ
      イプ
1.Facebookユーザー

User < Object
  type:user
 facebookを利用しているユー
 ザー
2.Facebookページ

Page < Object
  type:page
 会社、学校、言語、宗教、場
 所、音楽、映画等、世の中に
 存在するあらゆる存在。
3.ユーザーによる投稿

Status < Object
  type:status
 ユーザーによって投稿された文
 字だけの近況
4.リンクのシェア

Link < Object
  type:link
 ユーザーによって投稿されたURL
 ※URLを含んだ近況を投稿すると
 linkになる
5.写真

Photo < Object
  type:photo
 ユーザーによって投稿された画
 像
 ※facebookアプリからもよく自
 動生成される
6.アルバム

Album < Object
  type:album
 ユーザーによって作成された写
 真アルバム
 ※facebookアプリからもよく自
 動生成される
7.イベント(行事予定)

Event < Object
  type:event
 ユーザーによって企画された行
 事予定。
8.友達リスト

FriendList < Object
  type:friendlist
 ユーザーが任意に作成した友達
 のリスト。または所属先によっ
 て自動的に生成された友達リス
 ト。
             ※後述
以上8種類
これだけ覚えておけば多分大丈夫
2.URL構造がシンプル
例
for example
http://www.facebook.com/ito.yusaku
名前空間のトップレベルから
ユーザーにあげちゃうなんて
    超太っ腹!
もうひとつ


 例
for example
ユーザーの友達リストのURL
http://www.facebook.com/ito.yusaku/friends
超シンプル!
わかりやすい!
実はGraph APIでも
ほとんどURL構造が同
      じ
https://graph.facebook.com/ito.yusaku/friends
このURLでユーザーの
友達情報をjsonで取得でき
      る!
あれ、もしかして
Graph API Explorerで
https://graph.facebook.com/1163102843
って打ったら自分のユーザー情報引っ張れたよ
         ね?
じゃあさ、
http://www.facebook.com/1163102843
   って打ったらどうなるのっ
       と・・・
表示された!
 (リダイレクトされます)
誰が得するのか
分からないけど
 なんか凄い!
3.APIがシンプル
例
for example
status(近況投稿)の
 GETで取得できる
    データ構造
{
    "id": "1163102843_2861493774125",
    "from": {
      "name": "伊藤 祐策",
      "id": "1163102843"
    },
    "message": "ぽっぽっぽ~♪ぬるぽっぽ~♪データが欲しいかもうないぞ~♪",
    "actions": [
      {
        "name": "Comment",
        "link": "http://www.facebook.com/1163102843/posts/2861493774125"
      },
      {
        "name": "Like",
        "link": "http://www.facebook.com/1163102843/posts/2861493774125"
      }
    ],
    "privacy": {
      "description": "Only Me",
      "value": "SELF"
    },
    "type": "status",
    "created_time": "2011-12-19T09:49:16+0000",
    "updated_time": "2011-12-19T09:49:16+0000",
じゃあ近況をGraph APIから
   投稿したいときは
どんなデータ構造にすればいい
      の?
{
    "id": "1163102843_2861493774125",
    "from": {
      "name": "伊藤 祐策",
      "id": "1163102843"
    },
    "message": "ぽっぽっぽ~♪ぬるぽっぽ~♪データが欲しいかもうないぞ~♪",
    "actions": [
      {
        "name": "Comment",
        "link": "http://www.facebook.com/1163102843/posts/2861493774125"
      },
      {
        "name": "Like",
        "link": "http://www.facebook.com/1163102843/posts/2861493774125"
      }
    ],
    "privacy": {
      "description": "Only Me",
      "value": "SELF"
    },
    "type": "status",
    "created_time": "2011-12-19T09:49:16+0000",
    "updated_time": "2011-12-19T09:49:16+0000",
{
 "message": "ぽっぽっぽ~♪ぬるぽっぽ~♪データが欲しいかもうないぞ~♪",
 "privacy": {
   "value": "SELF"
 },
},



  投稿に必要そうな属性だけ抜き出して、
同じデータ構造でPOSTしてあげればいいだけ!
これでOK
超簡単!
簡単すぎて
技術仕様書要ら
  ず!
これで今日から君
       も
 facebookアプリ
   開発者だ!
</アプリ開発編
    >
<使い方編>
このセクションでは
facebookの機能仕様
について紹介します
しかもお題はなんと
「動作仕様がよくわからない機
      能」
10人中8人くらいは
ちゃんと理解して使って
いないだろうと思われる
  機能を3つ紹介
その1
友達の親密度設定
トモダチ
facebookには
  3種類の
友達レベルがあるの
    を
 ご存知でしたか?
1.普通の友達
2.親密な友達
3.知り合い
親密度設定をすると
一体どうなるのか?
デフォルト設定では・・・
※この状態に特に名前はついていないので、
便宜上「普通の友達」と言うことにします
• フィードの表示対象が「ほとんどのアッ
  プデート」になる。
• あとはfacebookの表示対象選定エンジン任
  せ
「親密な友達」に設定する
     と・・・
• フィードの表示対象が「すべてのアップ
  デート」になる。
• その人が何か投稿するたびに左上の通知
  領域に通知が表示されるようになる。
主な利用用途
ネットストーキング
「知り合い」に設定する
     と・・・
• フィードの表示対象が「重要なアップ
  デートのみ」になる。
• いわゆる「友達以下」に分類される人用
• 近況に興味がない友達の設定としてオス
  スメ
• 転職したり、結婚した時に「おめでと
  う!」と言っておしまい程度の関係
おまけ1:「フィードの購読をやめ
       る」
• 友達申請を受理したものの、正直近況を
  見たくない人用
• これを設定すると、その名の通りフィー
  ドが一切表示されなくなる
• 先方からは察知されないので安心
おまけ2:「アプリからの投稿を非表示にす
         る」
• やたらむやみにPOSTしてくるアプリをつ
  かっている人におすすめ
• 「アプリ」単位で非表示設定ができる
• 「個人×アプリ」単位では非表示設定はで
  きない
• これを行使されたアプリ開発者は深く反
  省すべき
ちなみに
これらの親密度設定は
  Graph API からは
 一切取得できません
こんなの
他人にバレたら
大変ですもんね
それ以上に
自分がハブられてることを
知ってしまうことのほうが
 辛いかもしれませんが
その2
友達リスト
友達リストとは
• 増えすぎた友達をグループ化して管理す
  る機能
• あまりにも使われなかったせいか、
  facebookのアップデートが進むにつれ隅に
  追いやられてしまった不遇な存在
• でも「情報の共有範囲」に神経質な人に
  とっては非常に便利な機能
使い方
マウスオーバー
しないとでてこない!
友達リストの活用例
• 「あれ、こいつ誰だっけ?」を防ぐ
 – 「X年Y月Z日の合コンで知り合った人」
 – 「○○株式会社」
 – 「ナントカ勉強会で会った人」
• 投稿の共有範囲の設定に使う
 – 「同僚」
 – 「取引先」
 – 「大学の友人」
この投稿を
「同僚」ではない人
     or
  「上原仁」
が閲覧しようとすると
もちろんフィードにも
表示されることはありません
閲覧可能な人の図
公開対象者を足し算してから非表示対象者を引
き算




   公開対象者     非表示対象者
友達リストの登録方法
   その2
その3
「いいね!」ボタン
facebookには
  2種類の
「いいね!」がある
    のを
 ご存知でしたか?
1.ユーザー投稿に対する「いい
ね!」

2.facebookページに対する「いい
ね!」
1.ユーザー投稿に対する「いいね!」

• 友達の投稿を見ておもしろかったら押す
  もの
• 投稿者が喜ぶので気軽にやるべし
• 「投稿を読んだよ」というメッセージの
  代わりでもよい
2.facebookページに対する「いいね!」

• そのページに書かれているものに対
  して「ファンになることを宣言」す
  ることを意味する
• そのページの所有者による投稿が自
  分のフィードに表示されるようにな
  る
 ※facebookページには所有者が存在している
例
for example
押したら最後
あなたは「イ」という番
     組の
 ファンとみなされます
facebookページ所有者からみた「いいね!」

• 大抵のfacebookページ作成者は、プロモー
  ション目的でページの作成を行う
• 「いいね!」の数はそのままメディア力
  となる
• だからページ所有者達は「いいね!」数
  を稼ぐことに必死
facebookページあるある



「いいね!」をクリッ
   クして
 診断スタート!
facebookページあるある



「いいね!」をクリッ
   クして
キャンペーンに応募!
facebookページあるある



 みんなもう「いい
   ね!」を
クリックしましたよ!
知られざる「いいね!」の仕様

• 「いいね!」は取り消すことができる
 ※ページ所有者が最も恐れている行為
• 取り消さなくても、ページからの投稿を
  非表示にすることができる
• 「いいね!」をつけれるページの数は1
  ユーザーあたり500ページまで
</使い方編>
まとめ
• 開発編
 – facebookの実装仕様はとってもシンプル
 – Graph API Explorerを使いこなそう
 – 基本を押さえるだけで技術仕様書要らず
• 使い方編
 – 知らなかったで済まされる機能は結構沢山あ
   る
 – facebookページへの「いいね!」は重い
おしまい

More Related Content

Viewers also liked

DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To伊藤 祐策
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築伊藤 祐策
 
エンジェル投資家って何者?
エンジェル投資家って何者?エンジェル投資家って何者?
エンジェル投資家って何者?Takaaki Umada
 
SlideShareの使い方 アップロード編
SlideShareの使い方 アップロード編SlideShareの使い方 アップロード編
SlideShareの使い方 アップロード編itno
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (7)

DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
エンジェル投資家って何者?
エンジェル投資家って何者?エンジェル投資家って何者?
エンジェル投資家って何者?
 
SlideShareの使い方 アップロード編
SlideShareの使い方 アップロード編SlideShareの使い方 アップロード編
SlideShareの使い方 アップロード編
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to 今さら聞けないfacebook

『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章y torazuka
 
外部サイトのFacebook連動
外部サイトのFacebook連動外部サイトのFacebook連動
外部サイトのFacebook連動Hiroshi Kotani
 
ゼロからわかる!Facebookアプリの作り方
ゼロからわかる!Facebookアプリの作り方ゼロからわかる!Facebookアプリの作り方
ゼロからわかる!Facebookアプリの作り方Shuichi Takenaka
 
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンス
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンスみんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンス
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンスNaoko Tsubaki
 
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策Kunihiko Ikeyama
 
【ビジネススキル】情報リテラシーを高めるSns活用セミナー
【ビジネススキル】情報リテラシーを高めるSns活用セミナー【ビジネススキル】情報リテラシーを高めるSns活用セミナー
【ビジネススキル】情報リテラシーを高めるSns活用セミナーashizawa1 Ashizawa
 
User Behavior and Usage Data from "appmom", Presentation in #abc2011s
User Behavior and Usage Data from  "appmom",  Presentation in #abc2011sUser Behavior and Usage Data from  "appmom",  Presentation in #abc2011s
User Behavior and Usage Data from "appmom", Presentation in #abc2011sNaoko Tsubaki
 

Similar to 今さら聞けないfacebook (8)

『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章『入門 ソーシャルデータ』9章
『入門 ソーシャルデータ』9章
 
外部サイトのFacebook連動
外部サイトのFacebook連動外部サイトのFacebook連動
外部サイトのFacebook連動
 
ゼロからわかる!Facebookアプリの作り方
ゼロからわかる!Facebookアプリの作り方ゼロからわかる!Facebookアプリの作り方
ゼロからわかる!Facebookアプリの作り方
 
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンス
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンスみんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンス
みんなのアプリ利用状況をシェアしてアプリリコメンドをする、appmom(アップモン) for シェアカンファレンス
 
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策
Akamai x Splunkで実現するAnalytics Drivenな インターネットのセキュリティ対策
 
CSR・環境分野のSNS活用セミナー
CSR・環境分野のSNS活用セミナーCSR・環境分野のSNS活用セミナー
CSR・環境分野のSNS活用セミナー
 
【ビジネススキル】情報リテラシーを高めるSns活用セミナー
【ビジネススキル】情報リテラシーを高めるSns活用セミナー【ビジネススキル】情報リテラシーを高めるSns活用セミナー
【ビジネススキル】情報リテラシーを高めるSns活用セミナー
 
User Behavior and Usage Data from "appmom", Presentation in #abc2011s
User Behavior and Usage Data from  "appmom",  Presentation in #abc2011sUser Behavior and Usage Data from  "appmom",  Presentation in #abc2011s
User Behavior and Usage Data from "appmom", Presentation in #abc2011s
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

今さら聞けないfacebook