Twitter API是否支持用邮箱密码替代API Key和Secret进行鉴权?
这种实现方式完全不可行。
核心原因如下:
twitter.com/oauth2/token是X(原Twitter)OAuth2.0客户端凭证流程的专属令牌颁发接口,这个接口的Basic认证校验逻辑是写死的,只认开发者在X开发者平台创建应用后生成的API Key和API Secret配对值,根本不会校验普通用户的邮箱、登录密码组合。- 你传邮箱+密码的Base64编码值过去,请求会直接返回
401 Unauthorized错误,提示客户端凭证无效,根本拿不到访问令牌。 - X早就关停了所有直接用用户账号密码调用API的鉴权通道,不管是公开接口还是私有接口,都不能直接用邮箱密码鉴权,必须先在开发者平台注册应用拿到官方颁发的密钥,走标准OAuth流程拿到对应访问令牌才能调用。
参考代码
官方要求的正确鉴权头写法:
import base64 headers = { 'Authorization': 'Basic ' + base64.b64encode('API-KEY:API-SECRET'.encode('utf-8')).decode('utf-8') }
你尝试使用的错误写法:
import base64 headers = { 'Authorization': 'Basic ' + base64.b64encode('MY-EMAIL:MY-PASSWORD'.encode('utf-8')).decode('utf-8') }
内容的提问来源于stack exchange,提问作者japema5694
相关产品推荐
相关产品推荐

