无法使用 PHP Twitter API 发帖,在 TwitterOAuth 连接中出现错误

问题描述 投票:0回答:1

我正在尝试将 WordPress 帖子 URL 发布到我的 Twitter。我已经创建了 twitter 消费者密钥、消费者秘密密钥、访问令牌、访问令牌秘密(免费计划)。

可能从客户端(Twitter 端)收到连接错误。

我的代码:

require_once plugin_dir_path(__FILE__) . '/vendor/autoload.php';

use Abraham\\TwitterOAuth\\TwitterOAuth;

// I have a button, On its click this function is called to Post Hello world message to Twitter.

    /*  if (isset($_POST['start_auto_tweet'])) {
        TweetPost();
            }
    */

function TweetPost() {

define('CONSUMER_KEY', 'xxxxxxxxxxxxxxxxxxxx');
define('CONSUMER_SECRET', 'xxxxxxxxxxxxxxxxxxxx');
define('ACCESS_TOKEN', 'xxxxxxxxxxxxxxxxxxxx');
define('ACCESS_TOKEN_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxxx');

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);

$content = $connection->get("account/verify_credentials");
if ($connection->getLastHttpCode() == 200) {
    echo '\nRequest successful. getLastHttpCode Content equal to 200: ';
        } else {
        echo 'Error in getLastHttpCode';
        }
    
    $tweet = $connection->post('statuses/update', array('status' => 'Hi'));
    
    if ($tweet) {
        echo 'Success: Your message Hi has been posted to Twitter.';
        } else {
      echo "\nError: Could not post the Hi message to Twitter. $tweet\n";
      }
}

我收到:

“getLastHttpCode 中的错误”和“错误:无法将 Hi 消息发布到 Twitter”。

请有人帮我解决这个问题,我已经使用了https://twitteroauth.com/(Composer通过CMD在插件文件夹中导入TwitterOAuth库)。

它应该将“嗨”消息发布到我的 Twitter 个人资料中。稍后,我想通过 WordPress cron 自动发布 WordPress 帖子 URL。

wordpress twitter-oauth twitter-api-v2 twitter-api-v1
1个回答
0
投票

当错误输出只是您放在那里的字符串时,很难进行故障排除。我建议尝试获取有关您的请求和响应的更多信息,以找出问题的根源。您可以尝试使用

error_log()
函数将这些写出来供您检查。也许是这样的:

if ($connection->getLastHttpCode() == 200) {
        echo '\nRequest successful. getLastHttpCode Content equal to 200: ';
    } else {
        error_log('Error in getLastHttpCode: ' . $connection->getLastHttpCode());
        echo 'Error in getLastHttpCode';
    }

还有回复

   if ($tweet) {
        echo 'Success: Your message Hi has been posted to Twitter.';
    } else {
        // Log tweet error message to PHP error log
        error_log('Error posting tweet: ' . json_encode($connection->getLastBody()), 3, 'error.log');
        echo "\nError: Could not post the Hi message to Twitter.\n";
    }

现在看看你的 php/error.log 中是否有任何有用的东西,或者你配置的任何地方,应该能够在你的 php.ini 中找到它的 error_log。

© www.soinside.com 2019 - 2024. All rights reserved.