我正在尝试使用OAuth-PHP发布使用PHP的推文,但我似乎无法弄清楚如何实现这一点。有没有人有任何提示如何做到这一点,或我应该看看?OAuth-PHP和Twitter
我已经看到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”:“Invalid/expired Token”}
由于我是OAuth的新手,重要的一步,不知道它...
任何线索?
任何帮助将不胜感激。
PEAR的Services_Twitter可能有帮助:http://pear.php.net/Services_Twitter – MECU