已获Twitter API Elevated权限,V1.1端点仍提示仅Essential权限
解决Twitter API V1.1端点权限报错问题
补全V1.1端点的完整路径
调用V1.1接口必须带上版本前缀和必要的.json后缀,你的代码里缺少这些关键部分。修改后的调用代码:$user = $conn->request("GET", "/1.1/account/verify_credentials.json");V2接口路径是
/2/tweets,但V1.1的接口规范不同,必须严格遵循完整路径格式。核对应用的V1.1权限开关
进入开发者控制台找到你的应用,在「Permissions and features」里确认:- 已开启「Read and write」权限
- V1.1对应的「Read, write, and Direct Messages」权限组已被激活(Elevated权限下该组不是默认开启,需要手动启用)
确认密钥归属正确应用
重新生成密钥后,要确保代码里的consumer_key、consumer_secret属于这个拥有Elevated权限的应用,别不小心混用了其他Essential权限应用的密钥——控制台里多应用共存时很容易搞混。清理本地缓存并重启服务
本地开发环境可能缓存了旧的OAuth凭证或权限信息,导致新配置无法生效。试试清除项目缓存文件,或者重启本地web服务,确保新密钥和权限被重新加载。检查Twifer的基础API路径配置
部分Twifer版本默认把API基础路径设为V2的https://api.twitter.com/2/,调用V1.1时需要手动指定完整URL:$user = $conn->request("GET", "https://api.twitter.com/1.1/account/verify_credentials.json");或者初始化API类时指定V1.1的基础域名,具体可参考Twifer的相关说明。
内容的提问来源于stack exchange,提问作者Matthew Bradley
相关产品推荐
相关产品推荐

