File-X API 概述

File-X API 概述

File-X API 是一套可用于发布时间、获取信息流等使用File-X功能的 RESTful API。对于大部分的网页应用(包括移动应用),File-X API 是授权访问用户的File-X数据的最佳选择。

File-X API 提供了关于EventPlates的富有表现力的接口,让你可以灵活地访问用户的 File-X 数据。你可以选择一种你喜欢的编程语言,通过这些API在你的应用中添加 File-X 的特色功能,如:

  • 获取一个事件列表
  • 创建、更新、发布、删除事件
  • 修改事件的可见性,公开、仅好友可见或私密
  • 获取“此时”数据流
  • 获取“此地”数据流

你只需要选择一个与你的应用语言相匹配的 File-X API 客户端,并且以用户角色进行认证。

典型用例

File-X API 可以在不同的场景中使用,包括,但不限于:

  • 只读的时间线
  • 自动化或者编程化的事件发布
  • 内嵌一个微型博客

我可以从哪去获取更多资料?

从现在开始使用这个文档来开始构建一个 File-X 应用:

  • 开发者指南可以帮助你了解如何实现典型的应用场景
  • API 参考 为你提供了 File-X API 中所有资源的信息以及其方法。

API 预览

File-X API 是一个网页服务。它遵循 RESTful API 规范,并且使用 JSON 作为消息体。基本的 API 特性以及使用场景将会在这个部分进行描述。如果想要了解更多,可以在 File-X API 参考中查阅 API 的资源以及方法。

关键的资源类型

File-X API 提供了以下资源类型:

  • Events
  • Plates
  • UserFeed
  • CurrentUserFeed

Events 是可变更的。事件创建时会处于“草稿”状态。草稿事件只有它的拥有者可以访问。在事件发布前,用户需要设置事件的event_timetitlecontent。 资源拥有可以修改事件的可见性。事件在默认情况下是公开的。

Plates 是事件附件的存储单位。Plate 中包含以下媒体信息,一个 Plate 从属于一个 Event。一个 Event 可以有多个 Plate。

UserFeed 是某一特定用户已发布事件的集合。不同的用户访问后某一用户的 UserFeed 得到的数据可能会有所不同,因为用户与目标用户之间的关系可以会不一样。

CurrentUserFeed 当前用户的的事件列表,包含“草稿”以及“已发表”的事件

Auth and the File-X API

与其他 Feat REST API 一样,File-X API 使用 OAuth 2.0 来处理认证以及授权。你的应用需要指定一个或者多个 Scopes。 Scopes 是用来标记应用需要访问数据范围的字符串。这些 scopes 一组 token 一起确保数据访问安全。 一个 Scope 可以代表对单个资源的访问,也可以代表对一组资源的访问范围,例如:

  • 从 File-X 中读取事件(https://www.featapi.com/auth/file-x.readonly)
  • 管理事件 (https://www.featapi.com/auth/file-x)
  • 管理草稿事件,创建、更新或者删除草稿事件,但不包括发布事件 (https://www.featapi.com/auth/file-x.draft)

你可以查看 为你的应用授予 File-X 权限,来更加深入地了解如何在认证条件下使用 File-X API。

Scopes

File-X API 支持许多细粒度的授权范围,以实现所需级别的访问控制。 通过请求所需的最小访问级别,用户可以更自信地授予对其 File-X 的访问权限。

示范用例

目标场景:输出当前用户的的事件时间线。为了实现这个功能,你的应用需要一下步骤:

  1. 使用 https://www.featapi.com/auth/file-x.readonly 授权范围,完成认证用户的授权
  2. 调用API GET https://www.featapi.com/api/xfile/event/
  3. 在应用中处理返回的事件列表

有关实际的示例代码,请参考快速入门以获取您选择的语言。

常见用途

本节描述一些常见的用例是如何分步调用 API 进行实现的。 有关更多详细信息,请参阅相关 API 文档。

发布事件

事件是 File-X 最基础的数据单元。创建并完成事件发布,需要:

  1. 选择 event_time 事件发生时间,调用 Event.create 创建一个事件草稿。
  2. 调用 Event.update 为事件添加titlecontent
  3. 通过 Event.addPlate 将一个个 Plate 添加到事件中
  4. 调用 Event.update , 使用 { publish: true } 来发布事件

发表评论

您的电子邮箱地址不会被公开。

您可以使用以下 HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Captcha Code