图谱(Graph)API 概要

图谱(Graph)API 概要

图谱(Graph)API 概要

Graph API 用于从Facebook平台读取或写入数据. 它一个底层的基于 HTTP API,你可以用它查询数据,发布新故事,管理广告( ads), 上传图片和很多其他app常见的任务

基础

Graph API 的名字起源于 'social graph' - 描述了由下面组成的信息:

  • nodes (基础的东西,如用户照片, 页面, 评论)
  • edges (这些东西之间的联系,例如页面的照片, 或者照片的评论)
  • fields (这些东西的信息, 如用户的生日, 页面的名称).

Graph API 是基于 HTTP 的, 任何有 HTTP 类(例如 cURL, urllib)的语言都能使用它。下面我们会介绍它可以用来干什么。你可以在浏览器中直接使用 Graph API , 例如 这个Graph API (http://graph.facebook.com/facebook/picture?redirect=false) 请求等效于:

GET graph.facebook.com  /facebook/picture?    redirect=false

大多数的 Graph API 请求都需要 access tokens ,你可以通过实现 Facebook Login 得到.

这个概要会告诉你如何使用 Graph API 来读取和发布数据到社交图谱.

Graph API 是如何组织的

我们会在 Using Graph API 指南全面的介绍,但一般来说,你可以通过向node和edges发起HTTP GET 请求来看看api是如何工作的.

几乎所有的请求都发送到 graph.facebook.com - 唯一的例外是视频( video )上传,他使用的是 graph-video.facebook.com.

对象IDs

每一个node 都有一个唯一的 ID,通过该id,可以在 Graph API中找到该node。 我们没有具体的描述任何 node/object ID 结构或格式 因为它会随着时间而改变, apps必须不能依赖于现有的结构.

这是你如何使用 ID 来向 node发起请求:

GET graph.facebook.com  /{node-id}

或者 edge:

GET graph.facebook.com  /{node-id}/{edge-name}

你可以通过发起带有参数的HTTP POST请求生成一个发布信息:

POST graph.facebook.com  /{node-id}

或者 edge:

POST graph.facebook.com  /{node-id}/{edge-name}

删除使用 HTTP DELETE 请求到同一端点完成,(updating 通过 POST 请求完成 )。

API 版本

Graph API有多个版本可用 。每一个版本包含一组核心core fields 和 edge 操作。我们保证那些 核心 APIs 在该版本将会在该版本发布时两年内可用并且不会修改. platform changelog 可以告诉你现在哪个版本是可用的.

注意:某些edge或node中的操作 (例如 publishing) , may be core without the entire edge or node being core. We annotate these core APIs using this symbol within our Graph API reference docs.

Everything outside of these core APIs are called extended APIs. 这些 APIs are still accessed through versioned paths, 但他们随时都有可能会被修改或者删除,subject to 90-day migrations that would be announced on our platform roadmap. Alternatively they may simply be included in the next available API version.

你可以在我们的指南中阅读 read more about the intent of versioning in our guide, 这里,我们介绍如何对特定版本的 Graph API 发起请求。

这很简单,只要加一个版本标志在请求路径前就行了,例如 这里请求 v2.2:

GET graph.facebook.com  /v2.2/me

这会请求所有的版本, in this general form:

GET graph.facebook.com  /vX.Y/{request-path}

X.Y 代表版本. 我们会在changelog中列出所有可用的版本. 我们全部的Graph API 相关文档 提供了 per-version 信息,所以确保你使用正确的的 version ,一些版本移除了nodes 和 edges,一些版本添加了 nodes 和 edges.

现在,让我们试一下发起一个 API请求 :

加载 Graph API Explorer

学习Graph API 最简单的方式是通过 Graph API Explorer 使用它, 你可以通过这个进行增删查。但你跟facebook进行交互的时候,它是一个很方便的资源。

Graph API Explorer 地址: https://developers.facebook.com/tools/explorer.

生成 access token

当你构建自己的app时, 你需要学习一下 access tokens ,并且知道如何通过 Facebook Login生成它, 现在, 我们可以通过 Graph API Explorer获取一个真实的。

点击 "Get Access Token"按钮:

在弹出框中,不要选择任何选项,只点击蓝色按钮 "Get Access Token"。现在你会看到一个登录对话框,点击 "OK" 继续下一步.

发起你的第一个 Graph API 请求

在下面表单中输入请求地址

点击 "Submit" 按钮, .看到的结果取决于你的设置, 会包含一些基础的字段(fields)

你上面做的等同于下面的 Graph API '读'请求:

GET graph.facebook.com  /me

/me 是一个特殊的 endpoint ,他将当前 access token 转换成 user ID .

获得Publishing 许可

接下来,我们会使用 Graph API publishing 一些东西到 Facebook 。首先,点击 "Get Access Token" 按钮, 这时, 选择 publish_actions 授权:

点击 "Get Access Token" 按钮,你会看到登录对话框。 它会让你允许 Graph API Explorer 进行 post . 如果你将改变这里的认证改为 'Only Me',那么只有你能看到 post 内容, 但你必须同意对话框并点击下一步。

发布一个 Post

点击"GET" 按钮,从下拉中选择 "POST" . 输入 me/feed , 点击 "Add a Field".

在新出现的表单中输入,在name中输入 message , 在value中输入 Hello, World 。 它看起来会是这样的:

点击提交按钮,返回如下信息:

{  "id": "{new-post-id}"}

你已经成功的发起了第一个post请求,你可以到你的个人主页,你会看到发布的内容如下:

上面的操作等同于下面的 'publish' 请求:

POST graph.facebook.com  /me/feed?    message="Hello, World."&    access_token={your-access-token}

下一步

你已经学习了基础的知识,你可以继续学习 使用 Graph API? 我们建议你先学习Facebook Login ,尤其是 关于如何生成 access tokens ,所有复杂的 Graph API 请求都基于它。.

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部