概览:
图谱 API 是存取 Facebook 开放平台数据的主要方式。它是一种以 HTTP 为基础的轻量级 API,可用于查询数据、发布新动态、管理广告、上传照片和完成一款应用可能需要执行的各种其他任务。
Facebook信息组成:
- 节点 — 用户、照片、主页、评论等基本“事物”
- 连线 — 上述“事物”之间的联系,例如:主页照片或照片的评论
- 字段 — 关于上述“事物”的信息,例如:用户的生日或主页名称
图谱 API 以 HTTP 为基础,所以可适用于任何有 HTTP 库的语言,例如:cURL。
大部分图谱 API 请求需要使用访问口令(token),访问口令可以由您的应用通过执行Facebook 登录时生成。
总的来说,向节点或这些节点的连线发出 HTTP GET 请求即可读取 API,HTTP POST 请求可发布信息至 API,向相同的端点发出 HTTP DELETE 请求(并通过 POST 请求执行更新)即可通过 API 执行删除操作。
图谱 API 有多个可用的版本,一般格式适用于所有版本:GET graph.facebook.com/v.X.Y/{request-path} 其中 X.Y
是需要的版本号。
在学习过程中可与图谱API探索工具(可用于查询、添加和移除数据的轻量级工具)结合使用。
使用:
1、读取:向相关端点发送 HTTP GET
请求,即可读取图谱 API 中的所有节点和连线。
大多数 API 调用都必须使用访问口令签名。您可以查看图谱 API 参考文档,了解要读取的节点或连线,确定该访问口令中需要哪些权限。您也可以使用图谱 API 探索工具快速生成口令,以便尝试使用 API 和了解它的工作原理。
读取包含:选择字段、排序、网址查找、修改API请求、发出嵌套请求、遍历分页结果(基于游标的分页、基于时间的分页、基于偏移的分页)、发出大请求、发出多个请求(多个编号读取请求)、节点自检
2、发布:所有图谱 API 发布都一样,向相关连线发出 HTTP POST
请求并附加所有必要的参数。
所有发布调用必须使用访问口令签名。您可以查看图谱 API 参考文档,了解要发布内容的节点,确定该访问口令中需要哪些权限。
发出多个请求:您可以使用批量请求将发布调用与读取调用链接起来。如需了解其他信息,请参阅发出多个 API 请求。
3、更新:所有图谱 API 更新都一样,向相关节点发出 HTTP POST
请求并附加所有更新的参数。4、删除:从图谱删除节点,方法是向节点发出 HTTP DELETE
请求。一般来说,应用只能删除自己创建的内容。要支持对 HTTP 方法部分支持的客户端,您可以向端点发出 POST
请求并附加参数 method=delete
,以便替代 HTTP 方法。
例如,您可以通过发出以下请求来删除评论:
POST graph.facebook.com
/{comment-id}?
method=delete
5、搜索:
可以使用
/search
端点搜索社交关系图谱中的多个公开对象。
搜索的语法是:
GET graph.facebook.com
/search?
q={your-query}&
type={object-type}
可用的搜索类型:
6、错误处理:向 Fackbook API 发出的请求可能会产生多种不同的错误响应。
API 请求失败导致的一个常见错误响应:
{
"error":{
"message":"Message describing the error",
"type":"OAuthException",
"code":190,
"error_subcode":460,
"error_user_title":"A title",
"error_user_msg":"A message",
"fbtrace_id":"EJplcsCHuLu"
}
}
message
- :人类可读的错误说明。
code
- :错误代码。下方列出了常见值以及常用恢复策略。
error_subcode
- :关于错误的其他信息。下方列出了常见值。
error_user_msg
- :向用户显示的消息。消息语言以 API 请求的区域设置为依据。
error_user_title
- :代表对话框的标题(如显示)。消息语言以 API 请求的区域设置为依据。
fbtrace_id
- :内部支持标识符。 报告与图谱 API 调用相关的缺陷时,提供
fbtrace_id
错误代码:https://developers.facebook.com/docs/graph-api/using-graph-api
7、图谱API 调试模式:启用调试模式时,图谱 API 响应可能包含其他字段,说明请求可能存在的问题。
启用调试模式,请使用 debug
查询字符串参数。例如:
GET graph.facebook.com
/v2.3/me/friends
access_token=...&
debug=all
8、确定API 请求所使用的版本
图谱 API 为所有响应提供名为 facebook-api-version
的请求标头,说明生成响应的 API 的准确版本。
facebook-api-version:v2.0
该
facebook-api-version
标头可帮助您确定 API 调用是否是从您期望的版本返回。
更多:
图谱 API方法文档:https://developers.facebook.com/docs/graph-api/reference