Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有API支持的情况下使用PHP发布到Twitter/微博(发布表单欺骗?)_Php_Forms_Api_Post_Twitter - Fatal编程技术网

在没有API支持的情况下使用PHP发布到Twitter/微博(发布表单欺骗?)

在没有API支持的情况下使用PHP发布到Twitter/微博(发布表单欺骗?),php,forms,api,post,twitter,Php,Forms,Api,Post,Twitter,我正在尝试制作一个PHP脚本,可以在新浪微博(一个中国推特的克隆)上发布到群组。除了群组功能,微博在实现上(甚至在API上)似乎与Twitter非常相似——因此我将Twitter作为类比,因为这一区别与我的问题无关 我可以通过API定期发布帖子,但问题是,微博的API不支持向群组发布帖子,这可能是由于潜在的垃圾邮件危害。(注意:我的目的不是向数百万人发送垃圾信息,而是获取一个脚本,每天自动向相关行业团体发布专利到期信息。) 现在,我知道应该有一个解决办法,因为有一个应用程序允许一个人手动发布到组

我正在尝试制作一个PHP脚本,可以在新浪微博(一个中国推特的克隆)上发布到群组。除了群组功能,微博在实现上(甚至在API上)似乎与Twitter非常相似——因此我将Twitter作为类比,因为这一区别与我的问题无关

我可以通过API定期发布帖子,但问题是,微博的API不支持向群组发布帖子,这可能是由于潜在的垃圾邮件危害。(注意:我的目的不是向数百万人发送垃圾信息,而是获取一个脚本,每天自动向相关行业团体发布专利到期信息。)

现在,我知道应该有一个解决办法,因为有一个应用程序允许一个人手动发布到组中(新浪微群自动群发精灵), 虽然源代码是私有的,所以我尝试使用Firebug检查发送到服务器的post form数据,看看是否可以通过手动使PHP脚本复制post form信息来替换API tweet命令,但没有效果

下面是我为callback.php文件编写的代码,该文件在建立OAuth连接后调用。发布更新的API方法已经被注释掉,取而代之的是功能失调的post表单方法(在HTML标记中)


我对这一切都很陌生,所以我可能遗漏了一些明显的东西,但是这里有人对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');
?>