所以我正在使用亚伯拉罕的TwitterOAuth库登录Twitter并发布带有一些文本的图片,这很正常,一切似乎都很好,但是twit没有发布,所以我决定使用var_dump()来查看那个twit的结果,我得到以下信息:
object(stdClass)#23(1){[“错误”] => array(1){[0] => object(stdClass)#22(2){[“ code”] => int(89 )[“ message”] => string(25)“无效或过期的令牌。” }}}
我一直在尝试查看该错误应该是什么,或者设法解决该错误,但是我发现没有一种解决方案对我有用。以下是我的回调代码:
callback.php
<?php
namespace Abraham\TwitterOAuth\Test;
require_once 'vendor/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
$config = require_once 'config.php';
session_start();
$oauth_verifier = filter_input(INPUT_GET, 'oauth_verifier');
if (empty($oauth_verifier) ||
empty($_SESSION['oauth_token']) ||
empty($_SESSION['oauth_token_secret'])
) {
// something's missing, go and login again
header('Location: ' . $config['url_login']);
}
// connect with application token
$connection = new TwitterOAuth(
$config['consumer_key'],
$config['consumer_secret'],
$_SESSION['oauth_token'],
$_SESSION['oauth_token_secret']
);
// request user token
$token = $connection->oauth("oauth/access_token", ["oauth_verifier" => $_REQUEST['oauth_verifier']]);
$twitter = new TwitterOAuth(
CONSUMER_KEY,
CONSUMER_SECRET,
$_SESSION['oauth_token'],
$_SESSION['oauth_token_secret']
);
$file_path = __DIR__ . '/260.jpg';
$result = $twitter->upload('media/upload', ['media' => $file_path]);
$parameters = ['status' => 'It is I, the Test kitten' , 'media_ids' => $result->media_id_string];
$result = $twitter->post('statuses/update', $parameters);
var_dump($result);
?>
任何人都知道如何进行这项工作,或者为什么会遇到这个问题?
谢谢!