概览:

图谱 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}


可用的搜索类型:

python facebook 博主广告抓取 facebook爬虫api_API


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

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



python facebook 博主广告抓取 facebook爬虫api_facebook_02


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