Facebook开发基础

【笔记】浅谈FacebookAPI

作者 Trekerz 日期 2017-03-02
Facebook开发基础

一、 概述

​ a. 如何发起API请求

​ b. 开放图协议

​ c. 从页面和好友中分析“赞”

​ d. 团分析等技术

​ e. 使用D3 JavaScript库对社交图谱进行可视化。

二、 探索Facebook的社交图谱API

1. 理解社交图谱API

Facebook的社交图谱是一个大规模的图数据结构,它代表了社会交互并且包含了节点和节点之间的连接。图谱API提供了与社交图谱交互的主要方法。

​ (1) 访问令牌

​ (2) 节点ID

​ (3) 关系约束

​ (4) “赞”约束

​ (5) 调试

​ (6) JSON响应格式

Facebook查询语言:FQL为查询Facebook的社交图谱提供了另一种很好的选择,并且它有SQL风格的语法。

本书使用通过Python发送HTTP请求的方式获取好友信息和“赞”信息等。

2. 理解开放图协议

OGP是一种允许开发者通过向任何页面注入一些RDFa元数据从而将页面作为一个Facebook社交图谱对象的机制,换句话说,OGP是一种通往社交图的方式,在Facebook的开发者文档中这些概念被描述为“开放图”。

OGP允许用户与对象之间进行一组大范围的、灵活的活动,这是社交图谱的一部分。

三、 分析社交图谱的联系

图谱API的一个官方Python SDK是Facebook以前维护的代码库的社区版本并且能够使用pip install facebook-sdk标准命令进行安装,里面包含了一些非常有用的方法。

1. 分析Facebook页面

Facebook提供了一个可以让Facebook页面管理者理解他们粉丝的小型工具箱——Insights。

(1) 分析本书的Facebook页面

​ a. 值得考虑的问题:

​ 该页面有多么流行?

​ 该页面粉丝参与度怎样?

​ 该页面是否有任何特别积极地参与的粉丝?

​ 关于该页面最最经常被讨论的话题是什么?

​ b. 实体解析的概念和应用(不太重要的内容)

(2) 分析并对比可口可乐和百事可乐的Facebook页面

(Facebook的分析并不一定能说明所有问题,你需要自己去寻找各个问题之前是否事先就存在必然或关联的逻辑)

2. 查看好友关系

一些可以考虑的点:

​ 你的社交网络中是否有任何特别明显的话题或特殊兴趣?

​ 你的社交网络是否包含许多相互的好友关系甚至是更大的互联“团”?

​ 你的社交网络中的人联系是否紧密?

​ 你是否有一些朋友特别坦率或热衷于任何你也有兴趣了解的事情?

(1) 分析你好友“赞”的事物

​ a. 查询你所有朋友的“赞”(注意有些设了权限的并不能获得)

​ b. 计算你好友中最受欢迎的“赞”

​ c. 计算每个好友的“赞”的数量,并根据频率进行排序

​ d. 找出社交网络中自己和好友关系共同的“赞”

​ e. 计算社交网络中与自己最相似的好友

(2) 使用有向图分析相互好友关系

从一幅自我图触发分析相互好友关系可以被很自然的看成一个团检测问题。

NetworkX是一个Python包,它提供了大量的图分析方法。

(3) 可视化相互好友关系的有向图

D3.js能够通过一些列数据驱动的变换以一种直观的方式操作对象,在浏览器中呈现漂亮的可视化结果。

四、 本章小结

当你调查一个初始查询的谜底时,你很有可能会遵循一个自然的探索过程,它将持续提炼你对数据的理解,使你离寻找的答案更进一步。

在数据挖掘的同时需要注意尊重隐私,并且尽可能的遵守服务条款。