如何集成 Timelines endpoint
- 实用工具
- 关键概念
实用工具
关键概念
请注意如果你请求以下fields,则需要使用 OAuth 1.0a 用户上下文或 OAuth 2.0 授权码模式:
tweet.fields.non_public_metrics
tweet.fields.promoted_metrics
tweet.fields.organic_metrics
media.fields.non_public_metrics
media.fields.promoted_metrics
media.fields.organic_metrics
tweet.fields.non_public_metrics
tweet.fields.promoted_metrics
tweet.fields.organic_metrics
media.fields.non_public_metrics
media.fields.promoted_metrics
media.fields.organic_metrics
non_public_metrics
,您需要在请求中包含与该用户关联的 access token。您可以让用户授权您的 App,并通过使用 3-legged OAuth flow 获取一组与其关联的 access tokens。
如果您使用的是用户提及时间线,除非发出提及的作者已授权您的 App 访问其私有度量数据,并且您在使用 OAuth 1.0a 用户上下文发起请求时使用该用户的 access tokens,否则上述字段将不可用。
所有 non_public_metrics
、organic_metrics 和 promoted_metrics 仅适用于过去 30 天内创建的 Posts。这意味着当您请求上述字段时,结果将自动调整为仅包含过去 30 天内的 Posts。
如果请求了这些字段,则只会返回由已认证用户创作的 Posts,其他所有 Posts 将返回错误消息。
分页
这些 endpoint 使用分页以便快速返回响应。当结果数量多于单个响应可返回的数量时(对于 timelines endpoint 最多 100 条 Post),您需要进行分页。使用 max_results 参数指定每页返回的结果数量,使用 pagination_token 参数返回下一页结果。您可以通过查阅我们的分页指南了解更多信息。
过滤结果
这些 endpoint 包含多个可用于筛选结果的参数。通过 start_date 和 end_date,您可以将结果限定在特定时间范围内。如果您更倾向于使用 Post ID 来选择特定的一组 Posts,可以使用 since_id 和 until_id。用户 Posts 时间线还提供 exclude 参数,可将转发和回复从结果中排除。
Post 上限和返回的 Posts 数量
用户 Post 时间线和用户提及时间线这两个 endpoint 在每个月可返回的 Posts 数量有限制。反向时间顺序的首页时间线 endpoint 不受此限制。
无论您使用哪个时间线 endpoint,返回的 Posts 都将计入 Project 级别的 Post 上限。用量会显示在开发者门户中,“月份”从您在 developer portal dashboard 上显示的订阅续费日开始计算。
用户 Post 时间线 endpoint 只会返回某个用户时间线上最近的 3200 条 Posts。若将 start_time 和 end_time 设置为包含超过最近 3200 条范围的时间段,您会收到成功响应,但不会返回任何 Posts。
还需注意,如果在用户 Post 时间线请求中传入 excludes=replies,则仅会返回最近的 800 条 Posts。
用户提及时间线 endpoint 仅返回最近的 800 条 Post 提及。
反向时间顺序的首页时间线 endpoint 返回最近的 3200 条 Posts。
Post 编辑
符合编辑条件的 Posts 可在原始 Post 发布后的 30 分钟内最多编辑五次。搜索 endpoints 将始终提供该 Post 的最新版本。如果您仅请求发布于 30 分钟或更早之前的 Posts,您将始终收到该 Post 的最终版本。然而,如果您的用例接近实时,且查询的是最近三十分钟内发布的 Posts,则这些 Posts 可能在您接收后被编辑。可以通过搜索或 Post Lookup endpoint 重新获取这些 Posts,以确认其最终状态。要了解有关 Post 编辑的更多信息,请参阅 Edit Posts 基础 页面。
边缘情况
- 当在用户 Post 时间线 endpoint 上为超过 30 天的 Posts 请求非公开度量时,您可能会在响应中看到带有结果计数为 0 的 next_token。为避免此问题,请确保使用 non_public_metrics 参数请求的时间范围在最近 30 天之内。此外,max_results 的最小值应为 10。上述做法可能有助于避免该情况,但仍可能发生。
- 为未投放推广的 Posts 请求推广度量会返回空响应,而非 Post data。我们的团队正在努力修复此问题。
- 对于包含超过 140 个字符正文文本的转发,text 字段将被截断,而不会返回完整的 Post 文本。短期权宜之计是展开所引用的 Post,并从扩展中检索完整文本。这是一个缺陷,我们会在未来修复。