介绍
Enterprise
Enterprise 增强功能是某些数据 API 响应负载中附加的元数据,仅在付费订阅计划中提供。
下表对每种增强功能作简要说明:
增强功能: | 说明: |
---|---|
扩展与增强的 URL | 自动展开包含在 Post 正文中的短链接(例如 bitly),并从目标页面提取 HTML 标题与描述元数据。 |
匹配规则对象 | 指示收到的 Posts 匹配了哪些规则。该对象在响应中返回规则标签和规则 id。 |
投票元数据 | 标记 Post 中是否包含投票,包含投票选项列表,以及投票时长与到期时间。 |
个人资料地理信息 | 基于用户个人资料推导的位置信息,包括(在可能情况下)经度、纬度坐标及相关地点元数据。 |
扩展与增强的 URL
title
和 description
的 HTML 页面元数据。
重要细节:
- 为解析短链接,我们的系统会向提供的 URL 发送 HTTP HEAD 请求,并跟随所有重定向直至抵达最终 URL。随后将在响应有效负载中包含该最终 URL(而非页面内容本身)。
- URL 富化会为实时 stream 增加约 5–10 秒的延迟
- 对 Full Archive Search API 发起的请求,扩展 URL 富化数据仅适用于 13 个月内的 Posts。
- URL 富化不适用于 Post 链接(包括引用 Tweet)、Moments 链接,以及包含在 Post 中的个人资料链接。
Post 负载
entities
对象中——具体是在 entitites.urls.unwound
对象内。它提供以下 metadata 字段:
- 展开后的 URL -
unwound.url
- 展开后的 HTTP 状态 -
unwound.status
- 展开后的 URL HTML 标题(最多 300 个字符)-
unwound.title
- 展开后的 URL HTML 描述(最多 1000 个字符)-
unwound.description
过滤运算符
- 示例:“url:tennis”
- 对任何包含单词 tennis 的 Expanded URL 进行分词匹配
- 也可作为过滤条件,用于包含或排除来自特定网站的链接,例如“url:npr.org”
- 示例:“url_title:tennis”
- 对任何 Expanded URL 的 HTML title 中包含单词 tennis 的情况进行分词匹配
- 匹配负载(payload)中包含的 HTML title data,长度上限为 300 个字符。
- 示例:“url_description:tennis”
- 对任何 Expanded URL 的 HTML description 中包含单词 tennis 的情况进行分词匹配
- 匹配负载(payload)中包含的 HTML description,长度上限为 1000 个字符。
HTTP 状态码
- 返回 2xx 系列代码(成功)
- 返回非重定向系列代码(失败)
- 因在合理时间内无法解析最终 URL 而超时(返回 408 — 超时)
- 遇到某种异常
原因 | 返回的状态码 |
---|---|
SSL 异常 | 403(Forbidden) |
不允许按该 URL 展开 | 405 |
套接字超时 | 408(Timeout) |
未知主机异常 | 404(Not Found) |
不支持的操作 | 404(Not Found) |
连接异常 | 404(Not Found) |
非法参数 | 400(Bad Request) |
其他情况 | 400(Bad Request) |
匹配规则
matching_rules
对象反映与给定结果匹配的所有规则。换句话说,即使有多个规则匹配某个特定的 Post,它也只会被投递一次,但 matching_rules
元素会包含所有匹配的规则。
投票元数据
重要细节:
- 适用于所有 Enterprise 级 API(PowerTrack、Replay、Search、Historical PowerTrack)
- 注意: 对于 Replay 和 Historical PowerTrack,此 metadata 首次于 2017/02/22 提供。
- 不包含投票信息或投票结果
- 目前不支持筛选器/运算符
- 仅提供 enriched native format(增强型原生格式)
- Enriched native format 是一项用户可控设置,可随时通过 Console 更改:Select a Product (PowerTrack, Replay, Search) > Settings tab > Output Format (Leave data in its original format)
Post 负载
- 一个“options”数组,最多包含四个选项,包含位置(1-4)和选项文本
- 投票到期日期
- 投票持续时间
示例载荷
个人资料地理信息
介绍
注意: 用于创建 Profile Geo Enrichment 的部分支撑地理数据来自 GeoNames.org,X 根据 Creative Commons Attribution 3.0 License 使用这些数据。
个人资料地理数据
增强的原生字段名称 | 示例值 | 描述 |
---|---|---|
user.derived.locations.country | United States | 创建该 Post 的用户的国家。 |
user.derived.locations.country_code | US | 与创建该 Post 的用户所在国家对应的两字母 ISO-3166 国家代码。 |
user.derived.locations.locality | Birmingham | 创建该 Post 的用户的所在地(通常为城市)。 |
user.derived.locations.region | Alabama | 创建该 Post 的用户的地区(通常为州/省)。 |
user.derived.locations.sub_region | Jefferson County | 创建该 Post 的用户的次级地区(通常为县/郡)。 |
user.derived.locations.full_name | Birmingham, Alabama, United States | 创建该 Post 的用户所在地的全称(不含次级地区)。 |
user.derived.locations.geo | See Below | 一个数组,其中 includes 为与创建该 Post 的用户的最细粒度所在地相对应的坐标提供的纬度/经度值。 |
示例载荷
限制
- Profile Geo 丰富化会尝试为用户资料位置字符串中描述的地理地点确定最合适的匹配。但由于可能存在同名地点或名称歧义等因素,结果未必在所有情况下都准确。
- 如果用户的资料位置字段(actor.location)未提供值,我们将不尝试进行分类。
- 精度级别:如果 Profile Geo 丰富化只能在国家或区域层级达到可信的判定,则负载中将省略更低层级的地理信息,如下级区域(subRegion)和地方(locality)。
- Profile Geo 丰富化会提供与其结果精度级别相对应的经纬度坐标(单一点)。这些坐标表示丰富化结果位置的地理中心。例如,如果精度级别为国家级,则这些坐标将设为该国家的地理中心。
- 为地址属性(locality/region/country/country code)提供的 PowerTrack 运算符刻意设计为细粒度,以便支持多种规则组合。当尝试定位与其他地点同名的特定位置时,请考虑组合地址规则。例如,以下组合可避免匹配“San Francisco, Philippines”:profile_locality:“San Francisco” profile_region:California。构建针对单个 Profile Geo 字段的规则时,请注意,每提升一级粒度都会缩小可见结果。在某些情况下,当关注某个城市的数据时,您可能只需依赖区域规则(当该区域与该城市有显著重叠时),例如瑞士的苏黎世可通过 profile_region:“Zurich” 有效定位,并覆盖周边区域。
- 与原生地理 Post 配合使用:Profile Geo 丰富化为 Post 提供一种不同于负载中原生地理值的替代地理类型。两者可结合使用,以基于可用地理数据捕获与某一地区相关的所有可能的 Post,但二者在概念上并不等同。