【问题标题】:Post/update data via twitter API通过 twitter API 发布/更新数据
【发布时间】:2011-09-29 21:41:16
【问题描述】:

我有什么: 在 twitter 上创建的 Twitter 应用和在 localhost 上创建的 PHP 应用

我想要的: 仅(!)应用程序帐户通过 twitter API 发布推文/更新状态。 没有 twitter@anywhere,没有用户登录,没有什么花哨的。

我尝试了什么:

https://github.com/abraham/twitteroauth 带有来自 dev.twitter.com 网站的访问令牌,返回

"POST 数据不适用于此 令牌”

或类似的东西。

我在某个网站上找到的代码 sn-p:

// Define credentials for the Twitter account
define('TWITTER_CREDENTIALS', 'username:password');


// Set up CURL with the Twitter URL and some options
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml?status=test_status');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


// Twitter uses HTTP authentication, so tell CURL to send our Twitter account details
curl_setopt($ch, CURLOPT_USERPWD, TWITTER_CREDENTIALS);


// Execute the curl process and then close
$data = curl_exec($ch);
curl_close($ch);


// If nothing went wrong, we should now have some XML data 
echo '<pre>'.htmlentities(print_r($data, true)).'</pre>';   

返回

"基本认证不 支持”

【问题讨论】:

    标签: php twitter


    【解决方案1】:

    那个大代码 sn-p 使用基本身份验证,Twitter 不再支持。无视它。

    现在 Twitter 需要 OAuth,这是 abraham 的 twitteroauth 库使用的。您必须使用此登录/身份验证,至少一次。

    您还必须首先register your app with Twitter,以接收您自己的消费者密钥和消费者秘密。然后您就可以通过 twitteroauth 开始使用 Twitter 的 API。

    【讨论】:

    • 是的,我已经在 Twitter 上注册了我的应用程序,没有这些密钥就无法使用 twitteroauth。当您转到应用程序的设置面板时,您还会获得应用程序的令牌。
    【解决方案2】:

    好的,我找到了问题所在。

    默认情况下,Twitter 将所有应用程序设置为只读,因此即使您通过 PHP 登录,也无法发送 POST/UPDATE。您需要做的是转到您的应用程序设置(设置应用程序名称、描述和头像的设置),在头像之前有一个“默认访问类型”,将其切换到

    读取、写入和直接消息

    瞧瞧。

    使用这个 sn-p 测试应用程序

    $twitter = new \TwitterOAuth('consumer_key', 'consumer_secret', 
                                  '(oauth_token', 'oauth_token_secret');
    $twitter->get('account/verify_credentials');
    $twitter->post('statuses/update', array('status' => 'test status'));
    

    哦,您无需使用您的应用程序进行登录操作,您可以在“我的访问令牌”菜单下获得所需的令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2011-07-04
      • 2015-11-17
      • 2013-01-23
      • 1970-01-01
      • 2015-06-12
      • 2020-10-31
      相关资源
      最近更新 更多