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 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 账户, 可酌情使用:

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

目前找到两种链接形式:

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

支持桌面与移动 APP, 推荐使用. 比如指向 Twitter@NASA:

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

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

不支持移动 APP 跳转. 比如指向 Twitter@NASA:

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

参考资料