user name 和 user id

在中文里这两个一般译为 "用户名" 和 "用户ID", 当然也有直接把 user id 直接写为 UID 的.

为了要让计算机系统精准定位到一个账户实体, 通常会使用 user id, 而不是 user name, 特别是在能够随意修改 user name 的地方; 当然也有多重情况, 有的平台连所谓 UID 都能随便修改, 为了便于维护, 这种情况数据库里一般都还会有一层 ID 指向每个帐号, 也不会随意公开使用.

在 Twitter 里, user name 就是用户能够随意修改的那个 "@username", 能够使用 https://twitter.com/nasa这样的链接访问到对应用户名的账户; 而 user id 自账户创建就不会变动, 也无法被用户修改.

Twitter@NASA 的 user name

而 user id 通常在 Twitter 里见不到, 但也有一些简单获取的办法.

获取 Twitter user id

Twitter API Playground

由于 Twitter 的 API 策略调整随之 API Playground 也受到影响, 目前这个方法已经失效. (更新于: 2023 年 8 月 3 日)

这是最稳妥的办法. 访问 Twitter Developer 的在线 API 查询:

需要登录 Twitter 帐号来使用在线查询.

https://oauth-playground.glitch.me/?id=findUserByUsername

Twitter API Playground

在 username 输入你要查询的账户的用户名, 比如 "nasa", 然后回车或点击 "Run" 按钮运行查询:

运行查询

在右边输出框得到数据:

1
2
3
4
5
6
7
{
"data": {
"id": "11348282",
"name": "NASA",
"username": "NASA"
}
}

其中字段 id 后的那串数字, 比如 11348282 就是 Twitter@NASA 这个帐号的 user id 了.

另外还能通过 UID 反查当前的 user name:

https://oauth-playground.glitch.me/?id=findUserById

第三方在线工具

由于 Twitter 的 API 策略调整这些工具大部分也受到影响. (更新于: 2023 年 8 月 3 日)

一些第三方工具也能做到, 不需要登录 Twitter 账户, 可酌情使用:

用户资料横幅

更新于: 2023 年 12 月 30 日

这是种相比前两种方法更加快速且直接的办法, 同时移动端也能很轻易利用.

Twitter 的用户资料横幅的图片资源路径中包含用户的 UID, 只需要在网页 Twitter 右键打开用户资料横幅图片, 资源路径中的第二层路径就是用户的 UID.

比如, Twitter@NASA 的资料横幅:

用户资料横幅位置

右键在新标签页打开图片或复制图片地址之后得到资源地址:

1
https://pbs.twimg.com/profile_banners/11348282/1697739673/1080x360

在这个地址中, /profile_banners 后的路径 /11348282 路径名即是该 Twitter 账户 @NASA 的 UID.

另外, 可以通过下面的路径直接查看对应 Twitter 用户名账户的用户资料横幅(以 @NASA 为例):

1
https://twitter.com/NASA/header_photo

而在移动端的 Twitter 也能直接打开用户的资料横幅通过右上角的菜单轻松获得横幅的图片资源地址.

网页中的关注按钮属性值

更新于: 2023 年 12 月 30 日

打开浏览器开发者工具, 使用元素检查器选中对应账号主页中的 "关注" 按钮, 这个按钮中存在一个名叫 data-testid 的属性, 其中的值就由该账户的 UID 组成:

关注按钮元素中的 data-testid 属性

1
2
3
4
5
6
7
8
9
10
<div aria-describedby="id__hczv3be56t4" aria-label="关注 @NASA" role="button" tabindex="0"
class="css-175oi2r r-sdzlij r-1phboty r-rs99b7 r-lrvibr r-2yi16 r-1qi8awa r-ymttw5 r-1loqt21 r-o7ynqc r-6416eg r-1ny4l3l"
data-testid="11348282-follow" style="border-color: rgba(0, 0, 0, 0); background-color: rgb(15, 20, 25);">
<div dir="ltr"
class="css-1rynq56 r-bcqeeo r-qvutc0 r-37j5jr r-q4m81j r-a023e6 r-rjixqe r-b88u0q r-1awozwy r-6koalj r-18u37iz r-16y2uox r-1777fci"
style="color: rgb(255, 255, 255); text-overflow: unset;"><span
class="css-1qaijid r-dnmrzs r-1udh08x r-3s2u2q r-bcqeeo r-qvutc0 r-poiln3 r-a023e6 r-rjixqe"
style="text-overflow: unset;"><span class="css-1qaijid r-bcqeeo r-qvutc0 r-poiln3"
style="text-overflow: unset;">关注</span></span></div>
</div>

比如这里 data-testid 值为 11348282-follow, 11348282 就是 @NASA 账户的 UID.

使用 UID 为链接参数指向账户

目前发现的, 能够使用的链接有下面几种:

  1. twitter.com/intent/user?user_id=[UID] 推荐

    支持桌面与移动 APP, 推荐使用.

    比如指向 Twitter@NASA:

    https://twitter.com/intent/user?user_id=11348282

  2. twitter.com/i/user/[UID]

    不支持移动 APP 跳转.

    比如指向 Twitter@NASA:

    https://twitter.com/i/user/11348282

  3. twitter.com/i/connect_people?user_id=[UID] (更新于: 2023 年 12 月 30 日)

    这是 Twitter 推荐相似账户的 "连接" 页面, 目前只有登录了账号才能查看结果. 移动端不会跳转至 APP.

    比如指向 Twitter@NASA:

    https://twitter.com/i/connect_people?user_id=11348282

参考资料