Facebook Graph API(1)—介绍
Facebook提供三种low-level HTTP APIS去访问Facebook Graph.
1.Graph API
2.FQL(过期)
3.Legacy REST API(过期)
为什么要学习Graph API
1.Open Graph可以让广大用户发现你的应用或者业务
2.可以加入更多社交内容,你的朋友可能会对你的内容感兴趣
3.使用Facebook Login统一登录,可以减少投入,并且可以跨不同设备。
The Graph API Explorer
API Explorer是一个低级工具,使用它开发者可以查询,添加和删除相关数据。对开发者开发应用非常有帮助。
所有的东西在Open Graph中都有ID
Graph API使用的HTTP请求,GET for read, POST for modify & add, DELETE to remove nodes.
示例:你可以在左边选择请求的类型(GET,POST or DELETE),以及任何需要修改的数据。
HTTP请求的路径是: graph.facebook.com
Names
可以根据name来获取用户信息。例如: /yourfacebookname
还有一个特别的路径来访问用户信息:/me 微软Live Connect使用的相同方式来获取用户信息。使用 /me 来获取用户信息需要认证。
Login, Authorization and Permissions 登录,授权和权限
使用Graph API访问数据需要先理解的几个专业术语。
Login:
Facebook Login可以为开发者提供不同的应用接入Facebook登录服务。
Authorization:
授权需要建立在客户端client(mobile or web), your servers(if you have them) and Facebook's Servers.授权的流程
Permissions:
权限是你的应用需要授予何种权限给应用通过Facebook Login.
Access Token:
访问令牌是在授权过程中一个特殊的字符才能,它表示一组已授予的权限,并且可以用在一个特定的应用程序或者一个特定人上。
三种类型的权限
User Data Permissions:用户信息,只读
Friend's Data Permissions:用户好友信息
Extended Permissions:更详细的用户信息或者可以写入内容到用户的Open Graph中。
Connections
连接是通过构建不同的URL通过Graph API去获取用户的具体信息。再获取用户信息前提是用户必须授权给应用,否则返回空的数据集合。
参考网址:http://developers.facebook.com/docs/getting-started/graphapi/
- 浅谈反馈式按钮的设计与实现
- 对比手游和PC游戏的发展,小程序会成为手游开发的热点?
- 雷军旗下金山云再获融资2.2亿美元
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[WS标准篇]
- zookeeper配置详解
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]
- zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令
- [WCF的Binding模型]之三:信道监听器(Channel Listener)
- zookeeper监控告警
- 扩展ToolBarManager、ListView和Grid控件以实现气球式的ToolTip
- Linux同步机制 - 基本概念(死锁,活锁,饿死,优先级反转,护航现象)
- Linux同步机制 - 多线程开发总结
- 谷歌发布升级版语音合成系统,直接从字符合成语音
- 无锁编程 - 大纲
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从零搭建Spring Boot脚手架(6):整合Redis作为缓存
- 换一种姿势挖掘CORS漏洞
- 新的Spring OAuth2.0 授权服务器项目正式发布
- spring boot整合apollo
- 枚举和List的几个共有方法
- AtomicInteger源码解析
- AtomicIntegerArray源码解析
- AtomicIntegerFieldUpdater源码解析
- “终于懂了” 系列:Android屏幕刷新机制—VSync、Choreographer 全面理解!
- 一些PHP选项参数相关的函数
- 【Flutter 专题】98 易忽略的【小而巧】的技术点汇总 (六)
- PHP脚本设置及获取进程名
- GlasgowSmile-v2通关笔记
- R语言实现输出文本的多样式
- 学习|Unity3d的导航实现循环线路移动