别人能看到你在 X 上搜了什么、点赞了什么、关注了谁吗?一份对照表

14 min readSocialAPI 工程团队

别人能看到你在 X 上搜了什么、点赞了什么、关注了谁吗?一份对照表

人们是一个动作一个动作地问这件事的 —— 他们能看到我的搜索吗、我的点赞吗、我关注了谁吗、我有没有看过他的资料页 —— 而每次从不同的地方得到不同的答案。

★这一切底下有一条规则,它能预测出每一个答案:★

如果这个动作向另一个账号发出了信号,它就是公开的。如果它只影响你自己看到什么,它就是私密的。

搜索改变的是你的结果。点赞改变的是别人的帖子。 ★这就是全部的分界★,有了它,你能回答这一页没有列出的情况。


那张地图

你做了什么 别人能看到吗?
搜索某个东西 ★不能 —— 永远不能★
查看一个资料页 ★不能★
读一条帖子 ★不能★
收藏一条帖子 ★不能★
静音某人 ★不能★
拉黑某人 不通知,但★可被检测★
点赞一条帖子 ★能★
关注某人 ★能★
转发或引用 ★能★
回复 ★能★
加入一个公开社区 ★能★

从上往下读一遍,规则就显形了: ★"不能"那一组全是消费行为;"能"那一组全都触碰到了另一个账号★。

只有公开的那一半是任何人可取回的,包括我们 —— 私密的那一半并不作为数据存在。


问得最多的那四个

"别人能看到我搜了什么吗?" ★不能。★ 搜索是私密的,而且从不被归因到你身上 —— 不会被你搜过的账号看到,也不会被任何人看到。你自己的最近搜索会被保存以方便使用,可以清除,但那是一份本地列表,不是一份公开列表。

"别人能看到我点赞了什么吗?" ★★能 —— 点赞有一个公开标签页。★★ 这一条比这张表上任何东西都更让人意外。⚠️ 点赞标签页在你的资料页上是可见的,而且尽管 X 在 2023 年收紧了用代码获取点赞者列表的能力,那个标签页本身仍然可以浏览。

"别人能看到我关注了谁吗?" ★能。★ 你的关注列表是公开的,除非你的账号受保护。★没有任何设置能把它藏起来★ —— 读一份关注列表是一个正常的公开操作。

"别人能看到我看过他的资料页吗?" ★不能,而且这一条没有例外。★ X 并不以可取回的形式收集观看者身份 —— 完整推理。


这里的"私密"到底是什么意思

⚠️ ★"对其他用户私密"和"对平台私密"不是一回事。★

你的搜索不会被展示给其他人。它们仍然被处理 —— 结果和推荐本来就是这么工作的。★正确的心智模型是"对其他用户不可见",而不是"哪里都没记录"。★

这一点重要,是因为两者经常被混为一谈,而这个混淆同时制造了虚假的安心和虚假的警报:

  • ★虚假的安心: "没人能看到"不等于"它不影响任何东西"★ —— 你的行为在塑造你自己的推荐
  • ★虚假的警报: "平台会处理它"不等于你的粉丝能翻看它★ —— 他们不能,也没有任何工具能卖给他们这个

★对于任何基于公开数据做东西的人,实用的那条线更简单:如果它对一个退出登录的浏览器不可见,那就没有任何接口会返回它。★

那条线正是我们覆盖范围的终点,而对每一家服务商都是同一条线。


用代码读公开的那一半

可见的那一列全都可读,这正是受众分析得以可能的原因:

import requests

BASE = "https://api.socialapi.tech"
KEY  = "your_api_key"
HDRS = {"X-API-Key": KEY}

def public_footprint(username):
    """任何人都能看到的、关于一个账号的行为。"""
    def get(path, **extra):
        r = requests.get(f"{BASE}{path}",
                         params={"username": username, **extra},
                         headers=HDRS, timeout=60)
        r.raise_for_status()
        return r.json()["data"]

    return {
        "following": get("/v1/user/followings", limit=100),
        "posts":     get("/v1/user/last_tweets", limit=50),
        "replies":   get("/v1/user/replies", limit=50),
    }

★注意这个函数里缺了什么:搜索、浏览、收藏、静音。★ 不是因为我们选择不放进去 —— ★而是因为它们不是公开数据,所以任何服务商都没有★。


大家会问的问题

别人能看到我在推特上搜了什么吗? ★不能。★ 搜索是私密的,而且从不被归因到你。

别人能看到我的推特搜索记录吗? 不能。 ★你的最近搜索列表是账号本地的★ —— 怎么清除。

别人能看到我在推特上点赞了什么吗? ★能★ —— 点赞在你的资料页上有一个公开标签页。

别人能看到我的点赞吗? 能,翻你的点赞标签页就行。 ★这是最让人意外的一个答案。★

别人能看到我关注了谁吗? ★能。★ 你的关注列表是公开的,除非账号受保护。

能把我关注了谁藏起来吗? 只能把账号设为受保护。 ★没有单独的设置项。★

别人能看到我在推特上浏览了什么吗? ★不能。★ 浏览不以任何可取回的形式被记录。

别人能看到我什么时候看了他的资料页吗? 不能 —— 这背后的规则。

别人能看到我看过他的推特吗? 不能。 ★被动消费不留下任何可识别的痕迹。★

推特上的人能看到谁看过他的资料页吗? 不能 —— 任何工具、任何价格都不行。 ★那份数据并不以能被提供的形式被收集。★

别人能看到我在推特上看了些什么吗? 不能。 ★阅读、下拉、浏览全都是隐形的。★

别人能看到我的收藏吗? ★不能 —— 收藏是私密的。★ 作者看不到谁收藏了一条帖子。

别人能看到我静音了他吗? 不能。 ★静音在设计上就是隐形且不可检测的。★

别人能看到我拉黑了他吗? 不通知,但可以被检测出来 —— 怎么检测。

别人能看到我加入了哪些社区吗? ★公开社区能★ —— 成员身份是公开的,这一点常让人意外。社区怎么运作。

别人能看到我的草稿吗? 不能。 ★未发布的内容不是公开数据。★

别人能看到我拉黑了谁吗? 没有名单会被暴露。 ★可以逐个查,但拿不到完整名单。★

别人能看到我的私信吗? 不能 —— 为什么没有接口能读。

我截图他的帖子,他会知道吗? 不会。 ★X 不检测也不报告截图。★

别人能知道我读了他的回复吗? 不能。 ★公开内容上没有已读回执。★

别人能看到我的邮箱或手机号吗? 不能 —— ★那些是找回凭据,不是公开字段★。

别人能看到我取关了谁吗? 不能直接看到,但★做一次粉丝差集就能发现★ —— 追踪怎么做。

别人能看到我以前的用户名吗? 从平台拿不到。 ★数字 ID 会留存,但旧用户名不会被列出★ —— ID 为什么重要。

我的点赞标签页默认是公开的吗? 是。 ★把账号设为受保护是唯一能限制它的办法。★

能把关注列表设为私密吗? 只能通过保护整个账号。

搜索某人会通知他吗? ★不会。★ 搜索从不被归因。

反复查看一个资料页会怎样? 对他来说什么都看不到。 ★它可能影响你自己的推荐。★

广告主能看到我搜了什么吗? 不能以你的身份看到。 ★定向作用于人群分层,不是可翻阅的个人历史。★

我做的事情里真有匿名的吗? ★消费对其他用户是隐形的★,而★每一次互动都是公开的★。这就是全部的模型。

第三方工具能比一个人看到更多吗? 不能。 ★工具拥有的是任何人都有的那份公开访问★ —— 那就是天花板。

要记住的那一条规则是什么? ★消费是私密的;互动是公开的。★ 它能预测每一种情况,包括这里没列出的。


简短版

★消费是私密的。互动是公开的。★ 搜索、浏览、阅读、收藏、静音,都不留下别人能看到的痕迹。点赞、关注、回复、转发、加入公开社区,全都留下。

★最容易让人栽跟头的是点赞和关注 —— 两者都是公开标签页,而且除了把整个账号设为受保护之外,都没有设置能把它们藏起来。★

我们的 API 返回公开的那一半 —— 关注列表、帖子、回复、公开社区成员身份 —— 因为那才是作为数据存在的东西。只读、固定按次价格。

★没有任何接口返回什么,包括我们的:搜索、浏览、收藏、静音、私信。★ 那不是覆盖缺口 —— 那是平台刻意不暴露的那一半,而正是它让公开的那一半可以被安全地读取。

延伸阅读:为什么没人能看到资料访客 · 清除自己的搜索历史 · 读一份公开的关注列表 · 查某人是否拉黑了你。