在没有API支持的情况下使用PHP发布到Twitter/微博(发布表单欺骗?)
我正在尝试制作一个PHP脚本,可以在新浪微博(一个中国推特的克隆)上发布到群组。除了群组功能,微博在实现上(甚至在API上)似乎与Twitter非常相似——因此我将Twitter作为类比,因为这一区别与我的问题无关 我可以通过API定期发布帖子,但问题是,微博的API不支持向群组发布帖子,这可能是由于潜在的垃圾邮件危害。(注意:我的目的不是向数百万人发送垃圾信息,而是获取一个脚本,每天自动向相关行业团体发布专利到期信息。) 现在,我知道应该有一个解决办法,因为有一个应用程序允许一个人手动发布到组中(新浪微群自动群发精灵), 虽然源代码是私有的,所以我尝试使用Firebug检查发送到服务器的post form数据,看看是否可以通过手动使PHP脚本复制post form信息来替换API tweet命令,但没有效果 下面是我为callback.php文件编写的代码,该文件在建立OAuth连接后调用。发布更新的API方法已经被注释掉,取而代之的是功能失调的post表单方法(在HTML标记中)在没有API支持的情况下使用PHP发布到Twitter/微博(发布表单欺骗?),php,forms,api,post,twitter,Php,Forms,Api,Post,Twitter,我正在尝试制作一个PHP脚本,可以在新浪微博(一个中国推特的克隆)上发布到群组。除了群组功能,微博在实现上(甚至在API上)似乎与Twitter非常相似——因此我将Twitter作为类比,因为这一区别与我的问题无关 我可以通过API定期发布帖子,但问题是,微博的API不支持向群组发布帖子,这可能是由于潜在的垃圾邮件危害。(注意:我的目的不是向数百万人发送垃圾信息,而是获取一个脚本,每天自动向相关行业团体发布专利到期信息。) 现在,我知道应该有一个解决办法,因为有一个应用程序允许一个人手动发布到组
我对这一切都很陌生,所以我可能遗漏了一些明显的东西,但是这里有人对Twitter/微博足够了解,可以在这里找到问题所在吗?可能有一个简单的解决方法吗?
谢谢!已经有一段时间了,但是对于任何遇到这个问题的人来说:到现在为止,我已经赶上了一点,而且使用Ruby gem Watir的浏览器自动化似乎比表单欺骗有更好的工作机会
<?php
session_start();
include_once( 'config.php' );
include_once( 'saetv2.ex.class.php' );
$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try { $token = $o->getAccessToken( 'code', $keys ) ; } catch (OAuthException $e) {}
}
if ($token) {
$_SESSION['token'] = $token;
setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
?><html><head></head><body>
<form action="http://www.weibo.com/aj/mblog/add?__rnd=1340066897833" method="post">
<input type="hidden" name="_surl" value="">
<input type="hidden" name="_t" value=0>
<input type="hidden" name="location" value="home">
<input type="hidden" name="module" value="stissue">
<input type="hidden" name="pic_id" value="">
<input type="hidden" name="rank" value="">
<input type="text" name="text" value="测试发表微博 test message" />
<input type="submit">
</form></body></html><?
/*
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$msg = $c->update("测试发表微博 test message");
if ($msg === false || $msg === null){ echo "Error occured"; return false;}
if (isset($msg['error_code']) && isset($msg['error'])){ echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] ); return false;}
echo($msg['id']." : ".$msg['text']." ".$msg["created_at"]);
*/
} else echo('授权失败。 authentication failed');
?>