0

作为序言,我对 PHP 了解不多。但是,我不确定这是一个 PHP 问题,但可能更多的是我理解用于连接到 Twitter 的库的问题。

我按照这里的教程http://140dev.com/twitter-api-programming-tutorials/hello-twitter-oauth-php/使用了 Matt Harris 的 twitter 库。除了从 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 凭据验证器吗?

我还尝试将以下示例与此 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 页面!?!?

感谢您的任何帮助,您可以提供!

4

1 回答 1

2

如果您确定密钥是正确的,我建议您检查 twitter 中的应用程序设置,以确保启用了写入模式。

在应用程序设置下确保应用程序类型访问设置为

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

(或至少读/写)

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

于 2012-05-16T19:29:48.407 回答