我正在尝试使用 OAuth-PHP 使用 PHP 发布推文,但我似乎无法弄清楚如何实现这一点。有没有人有关于如何做到这一点的任何提示,或者我应该去哪里看?
我已经看过 OAuth-PHP 库附带的示例,但我不确定如何调整它以发布推文。
到目前为止,我发现了一个类似的问题,但没有答案:Sending a tweet with oauth-php?
我正在使用的代码是这样的:
define("TWITTER_CONSUMER_KEY", $this->config->Twitter->ConsumerKey);
define("TWITTER_CONSUMER_SECRET", $this->config->Twitter->ConsumerSecret);
define("TWITTER_OAUTH_HOST","https://api.twitter.com/");
define("TWITTER_REQUEST_TOKEN_URL", TWITTER_OAUTH_HOST . "oauth/request_token");
define("TWITTER_AUTHORIZE_URL", TWITTER_OAUTH_HOST . "oauth/authorize");
define("TWITTER_ACCESS_TOKEN_URL", TWITTER_OAUTH_HOST . "oauth/access_token");
define("TWITTER_PUBLIC_TIMELINE_API", TWITTER_OAUTH_HOST . "statuses/public_timeline.json");
define("TWITTER_UPDATE_STATUS_API", TWITTER_OAUTH_HOST . "statuses/update.json");
define('OAUTH_TMP_DIR', function_exists('sys_get_temp_dir') ? sys_get_temp_dir() : realpath($_ENV["TMP"]));
// Twitter test
$options = array('consumer_key' => TWITTER_CONSUMER_KEY, 'consumer_secret' => TWITTER_CONSUMER_SECRET);
OAuthStore::instance("2Leg", $options);
try {
$request = new OAuthRequester(TWITTER_UPDATE_STATUS_API, "POST", array('status' => $msg));
$result = $request->doRequest();
}
catch(OAuthException2 $e) {
echo "Exception: " . $e->getMessage();
}
这是我想要做的,但我得到一个异常:请求失败,代码为 401:{“request”:“/statuses/update.json”,“error”:“无效/过期令牌”}
由于我是 OAuth 的新手,我可能错过了一个重要的步骤并且不知道它......
有什么线索吗?
任何帮助将不胜感激。