麻烦使用PHP Twitter库发送推文

时间:2012-05-16 17:42:51

标签: php twitter twitter-oauth

前言,我对PHP知之甚少。但是,我不确定这是一个PHP问题,但可能更多的是我理解连接到Twitter的库。

我按照这里的教程http://140dev.com/twitter-api-programming-tutorials/hello-twitter-oauth-php/使用了Matt Harris的推特库。除了我从twitter获得的钥匙外,我没有改变任何东西。

当我运行以下代码时,我收到了未经授权的错误代码401:

  $tweet_text = 'Hello Twitter';
  print "Posting...\n";
  $result = post_tweet($tweet_text);
  print "Response code: " . $result . "\n";

 function post_tweet($tweet_text) {

 require_once('tmhoauth/tmhOAuth.php');

 $connection = new tmhOAuth(array(
'consumer_key' => '******',
'consumer_secret' => '******',
'user_token' => '******',
'user_secret' => '******',
)); 

// Make the API call
$connection->request('POST', 
$connection->url('1/statuses/update'), 
array('status' => $tweet_text));

return $connection->response['code'];
 }
?>

正如我之前所说,我使用的是Twitter提供的密钥。

我可以帮助我尝试使用上面的库在https://api.twitter.com/1/account/verify_credentials.json测试twitter credientail验证器吗?

我还尝试使用以下示例与此SO帖子Using basic oauth to send a tweet中的TwitterOAuth库:

<?php
require_once('twitteroauth.php');
$connection = new TwitterOAuth('app consumer key', 'app consumer secret', 'my access     token', 'my access token secret');
$connection->post('statuses/update', array('status' => 'text to be tweeted'));

它不起作用;但它确实将页面转发给了作者的github页面!?!?

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:2)

如果你确定键是正确的,我建议你检查一下twitter中的应用程序设置,以确保启用写入模式。

在应用程序设置下,确保将应用程序类型访问权限设置为

  

读取,写入和访问直接消息

(或至少是读/写)

然后尝试再次生成访问令牌?