You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TwitterOAuth PHP发布推文失败求助

解决TwitterOAuth发布推文无响应无错误的问题

以下是针对你的情况的排查和修复步骤:

1. 开启PHP错误显示,暴露隐藏错误

脚本无输出可能是因为PHP错误被抑制了,先在脚本最顶部添加错误显示代码,直接看到具体问题:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once "vendor/autoload.php";
// 后续代码不变...

2. 完善错误处理逻辑,获取完整返回信息

原代码中直接访问$result->errors[0]->message可能在返回结构不符合预期时报错,修改错误分支代码,输出完整的返回数据和HTTP状态码:

else {
    echo 'HTTP状态码: ' . $connection->getLastHttpCode() . '<br>';
    echo '完整返回结果: <br>';
    var_dump($result);
}

这样能看到Twitter API返回的具体内容,哪怕不是标准的errors结构。

3. 验证认证信息与应用权限

  • 确认CONSUMER_KEY、CONSUMER_SECRET、ACCESS_TOKEN、ACCESS_TOKEN_SECRET完全正确,没有空格或字符遗漏。
  • 登录Twitter开发者平台,检查你的应用权限与功能是否开启了**读写(Read and write)**权限,发布推文需要写权限。权限变更后,必须重新生成ACCESS_TOKEN和ACCESS_TOKEN_SECRET,旧令牌会失效。

4. 检查网络与SSL连接

  • 确保运行脚本的服务器可以访问api.twitter.com(端口443),可以通过服务器执行curl -I https://api.twitter.com/1.1/statuses/update.json测试连通性。
  • 确认PHP的cURL扩展已启用,且支持SSL(可以通过phpinfo()查看cURL相关信息)。

5. 确认TwitterOAuth版本与API兼容性

如果你使用的是较新版本的TwitterOAuth,可显式指定API版本为1.1(statuses/update属于v1.1端点):

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$connection->setApiVersion('1.1'); // 添加这行

完成以上步骤后,重新运行脚本,就能看到具体的错误信息或成功提示,再根据返回结果针对性解决。

内容的提问来源于stack exchange,提问作者Digishack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:30:52