Facebook 商业价值简介

Facebook 是一个社交网络服务网站,于 2004 年 2 月 4 日上线,到 2010 年 2 月 2 日, Facebook 正赶超雅虎将成为全球第三大网站,与微软谷歌领衔前三。Facebook 一个月内增加的新用户量相当于雅虎一年所增加的用户量,当前的注册用户为 3.5 亿,这些用户中有一半的人每天都会访问网站。面对如此庞大和活跃的的用户群体,企业已经看到了它所蕴含的巨大商机。许多品牌都在 Facebook 上创建了企业账户,收集用户对产品的的评论反馈信息,及时对自己的产品和品牌做出调整,抢占市场先机。目前市场上有很多优秀的舆情智能分析工具,可以海量分析网络上各种媒体介质的信息,通过数据挖掘技术分析出用户的喜好和潜在的购买行为。

Facebook API 简介

获取 Facebook 的数据最常用的途径是通过 web 页面,以 Coca-Cola 为例,用户可以登陆 http://www.facebook.com/cocacola从页面上获得各种数据,包括用户对该产品的评论、产品相册等。Facebook 前端界面做得非常友好,采用了很多最新的 UI 技术,可以带来比较好的用户体验。类似的前端展示技术服务的对象是人,而程序在处理非结构化数据的时候有很多困难,随着前端页面布局的不断更新,仅仅使用网络爬虫的手段很难保证抓取信息的准确性

Facebook 为了解决第三方程序访问数据的问题推出了一套 Facebook API 平台,叫做 Graph API。它让普通用户可以读写在 Facebook Social Graph 的各种对象,这套 API 设计得非常简单,开发人员不需要花大量时间阅读文档,在最短的时间内就可以上手。

Facebook API 开发入门

RESTful 方法获取数据

以 Coca-Cola 的 Facebook 为例,如果我们想获得其它用户在其涂鸦墙 (Wall) 上的评论,我们要做的仅仅是在浏览器中输入 :https://graph.facebook.com/cocacola/feed, 系统将会以 JSON 数组格式返回结果。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。

图 2. 获得其它用户在其涂鸦墙 (Wall) 上的评论

数据中包含了消息的 ID、消息内容、作者、作者 ID、发布时间等各种消息。不仅涂鸦墙 (Wall),所有的 Facebook 对象都可以用如下的 URL 结构访问:https://graph.facebook.com/ID/CONNECTION_TYPE, 下表列出了一些常用的对象。

Facebook对象 访问方式
好友列表 (Friends) https://graph.facebook.com/{ID}/friends
新闻 (News feed) https://graph.facebook.com/{ID}/home
用户喜好 (Likes) https://graph.facebook.com/{ID}/likes
电影 (Movies) https://graph.facebook.com/{ID}/movies
书籍 (Books) https://graph.facebook.com/{ID}/books
相册 (Photo Albums) https://graph.facebook.com/{ID}/albums
上传视频 (Video Uploads) https://graph.facebook.com/{ID}/videos/uploaded
组 (Groups) https://graph.facebook.com/{ID}/groups

只有该对象是 public 的状态下才能直接通过以上方法访问,如果是 private 的,需要提供 access token 访问,文章的下面部分有对应的章节介绍。

Facebook API 开发进阶

使用 access token 访问涂鸦墙

在上面的例子中,我们访问的 Coca-Cola 公司涂鸦墙 (Wall) 是 Public 的属性,所有人都可以查看上面的内容,不需要任何的鉴权。但是大多数个人账户的涂鸦墙的属性都是 private,需要提供正确的 token 才能访问。

Facebook Graph API 使用 OAuth 2.0 作为权限控制,它是一个简化版的 OAuth, 利用 SSL 协议作为 API 的通信,而不是复杂的 URL 签名和 token 交换。使用 access token 的方法特别简单,如果你想查看自己的朋友列表,URL 的的形式如下所示:https://graph.facebook.com/me/friends?access_token=XXXX

me 是参数中的关键字,代表自己的 ID,如果想访问别人的涂鸦墙,就应该用 ID 来唯一确定一个用户。Access token 参数后面是一个系统随机的字符串。

获得 ID 和 Access token

前面概述了怎样使用 access token 访问 private 的涂鸦墙,下面将介绍一种获得 ID 和 access token 的方法。

首先登陆自己的 Facebook 账户后,将鼠标移到头像位置,在浏览器的下面的 URL 就包含该账户对应的唯一 ID。

对用户进行授权

Facebook Platform 对 OAuth 2.0 身份认证提供支持,也支持一种较老的、定制的授权签名方案。编写新应用程序时应该避免使用老的身份认证方案,因为对这种老方案的支持很快就会取消了。更多有关 OAuth 的信息,请参见 参考资料 中的 OAuth 2.0 Protocol 规范。

Facebook SDK for Android 协同 Facebook Platform 一起,隐藏了 OAuth 身份认证的复杂性,如 图

OAuth 2.0 Protocol (IETF)

Facebook API 入门的更多相关文章

  1. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  2. 转载-Web API 入门

    An Introduction to ASP.NET Web API 目前感觉最好的Web API入门教程 HTTP状态码 Web API 强势入门指南 Install Mongodb Getting ...

  3. Hadoop MapReduce编程 API入门系列之压缩和计数器(三十)

    不多说,直接上代码. Hadoop MapReduce编程 API入门系列之小文件合并(二十九) 生成的结果,作为输入源. 代码 package zhouls.bigdata.myMapReduce. ...

  4. Web API入门指南(安全)转

    安全检测的工具站点:https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools Web API入门指南有些朋友回复问了些 ...

  5. 【ASP.NET Web API教程】1 ASP.NET Web API入门

    原文 [ASP.NET Web API教程]1 ASP.NET Web API入门 Getting Started with ASP.NET Web API第1章 ASP.NET Web API入门 ...

  6. facebook api介绍

    转自(http://sls.weco.net/node/10773) 一.Facebook API 基礎概念 Facebook API 概論 : API 最大的好處在於可以讓程式開發人員只需要根據 A ...

  7. Web API 入门指南

    Web API 入门指南 - 闲话安全2013-09-21 18:56 by 微软互联网开发支持, 231 阅读, 3 评论, 收藏, 编辑 Web API入门指南有些朋友回复问了些安全方面的问题,安 ...

  8. 使用Jax-rs 开发RESTfull API 入门

    使用Jax-rs 开发RESTfull API 入门 本文使用 Jersey 2开发RESTfull API.Jersey 2 是 JAX-RS 接口的参考实现 使用到的工具 Eclipse Neon ...

  9. Web API 入门 二 媒体类型

    还是拿上面 那篇 Web API 入门 一  的那个来讲 在product类中加一个时间属性

随机推荐

  1. Centos7安装配置tomcat 9并设置自动启动

    原文:https://blog.csdn.net/stinkstone/article/details/78082725 1.官网下载安装包 这里选择适合Linux的安装包,下载到本地后上传到cent ...

  2. 解决kylin查询报错:org.apache.kylin.rest.exception.InternalErrorException

    报错信息: -- ::, ERROR [Query 12e9c054-760c---b1f06724c9b6-] service.QueryService: : Exception when exec ...

  3. 突破IP限制登入网站后台

    后台: http://www.zhuna.cn/sys_admin/ 输入账号密码 点击确定后,跳转到登录界面: http://www.zhuna.cn/sys_admin/login.php 很自然 ...

  4. mysql的数据恢复

    转载自:http://ourmysql.com/archives/1293 数据库数据被误删除是经常看到的事情,数据的恢复也就自然成为了DBA很重要的一门基本功夫,比较笨拙的办法是拉出历史的备份到另外 ...

  5. 【python】列出http://www.cnblogs.com/xiandedanteng/p/中的标题

    # 列出http://www.cnblogs.com/xiandedanteng/p/中的标题 from bs4 import BeautifulSoup import requests user_a ...

  6. JAVA设计模式之 訪问者模式【Visitor Pattern】

    一.概述 訪问者模式是一种较为复杂的行为型设计模式,它包括訪问者和被訪问元素两个主要组成部分.这些被訪问的元素通常具有不同的类型,且不同的訪问者能够对它们进行不同的訪问操作.在使用訪问者模式时,被訪问 ...

  7. DD_belatedPNG

    我们知道IE6是不支持透明的PNG的,这无疑限制了网页设计的发挥空间. 然而整个互联网上解决这个IE6的透明PNG的方案也是多不胜数,从使用IE特有的滤镜或是e­xpression,再到javascr ...

  8. jquery 获取css position的值

      jquery 获取css position的值 CreateTime--2018年5月28日14:03:12 Author:Marydon 1.情景展示 <div id="aa&q ...

  9. 霍炬:再谈百度:KPI、无人机,以及一个必须给父母看的案例

    作者:霍炬.  原文链接:http://www.donews.com/idonews/article/8147.shtm 没想到我之前的一篇关于百度的文章引起了这么大的反馈. 非常多朋友称赞我写的好, ...

  10. ubuntu 设置计划任务

    非常简便: crontab -e 以下是我的执行过程,输入命令后,会让我选择一个编辑器,我选的是2,因为后边写着easiest,最简单的. liuyx@myubuntu:/$ crontab -e n ...