Facebook Graph API(2)--读取数据之picture
Picture(图片)
在Graph API中提到图片不是照片的。此处的picture是指用户的头像,组,事件或应用和相册的图片。所以使用avatar也不是很好,毕竟不仅仅是用户头像。
1.概览
可以通过
https://graph.facebook.com/[yourfacebookname]/picture
或者https://graph.facebook.com/me/picture 但是这种方式是需要在访问令牌的应用或者网站中。
返回的是一个CDN的地址,可以更快的访问用户的头像,但是有访问频次(次数)限制。
2.支持SSL
如果需要让图片通过一个更加安全的方式访问,可以设置https.设置return_ssl_resources=1就行。demo:
http://graph.facebook.com/shaverm/picture?return_ssl_resources=1
返回的结果是:https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372183_100002526091955_998385602_q.jpg
3.使用JSON格式
开发过程中,可能需要在JavaScript里面操作图片,可以让服务器不返回图片,而是返回一个含有图片url的json格式数据。示例数据如下:
{
"data": {
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372183_100002526091955_998385602_q.jpg",
"is_silhouette": false
}
}
is_silhouette是一个布尔值,表示当前是不是图片资源。false代表不是图片资源。
可以设置callback=your_callback_name.直接返回的json数据格式会直接传入到your_callback_name函数中。
4.访问次数限制限制
如果一个应用非常流行,然后应用会容易出现访问次数限制。所以需要设置access_token=token.但是facebook graph api目前没有给出不用访问令牌时,每个小时的最大访问次数。
5.内容审核
因为这个api是去读取对象的图片。但是每个国家都地理区域或者年龄的审核。打个比方:应用时限制18岁以上成人使用,应用必须获取用户的授权,并且确定用户的年龄大于18岁。
6.支持头像的对象
可以使用picture参数的对象有上面这些。这也是facebook不取名为avatar,因为不仅仅是用户的头像,还有其他很多对象使用picture.
6.图片尺寸
可以设置type参数来指定图片的大小尺寸
直接设置width和height来返回指定的大小的图片
目录:Facebook Graph API
Graph API(1)-介绍:http://www.cnblogs.com/liminjun88/archive/2013/03/01/2938569.html
- Linux下使用rsync实现文件备份
- 【干货】基于TensorFlow卷积神经网络的短期股票预测
- [编程经验] 基于bs4的拉勾网AI相关工作爬虫实现
- [编程经验] 链家23个全国主要城市的现房数据分析
- [编程经验] Python中的modlue和packages的区别
- Day5上午解题报告
- [编程经验] Pandas中比较好用的几个方法
- [编程经验] Elasticsearch 初识
- 2017.10.26水题大作战部分题解
- 2017.10.27涩会题大乱斗部分题解
- 【 关关的刷题日记50】 Leetcode 345. Reverse Vowels of a String
- Day1上午解题报告
- 【 关关的刷题日记51】 Leetcode 67. Add Binary
- 【 关关的刷题日记53】 Leetcode 100. Same Tree
- 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 数组属性和方法
- Docker六脉神剑 (六) 1. Docker集群之Kubernetes(K8S) 了解k8s - 理论篇
- SpringBoot thymeleaf自定义错误页面
- SpringBoot 配置Redis操作
- SpringBoot 自定义banner (小彩蛋)
- SpringBoot使用Mybatis 快速入门
- 【CTR】ESMM:多任务联合学习
- 状态管理之Vuex (三) store利用module拆分
- MySQL 案例:无主键表产生的延迟
- 面试官真的会问:new的实现以及无new实例化
- Android Hilt实战初体验: Dagger替换成Hilt
- Linux系列之学会使用CURL命令
- 潘石屹用python解决100个问题 | 斐波那契数列
- [869]pandas的dataFrame的行列索引操作
- JSP的文件上传处理
- 将SAP CRM WebClient UI的表格导出成PDF