國外有個應用叫snapchat,閱後即焚,然後我就嘗試着做一個微網誌版的叫做AutoDelete,網址http://snapchat.sinaapp.com/
界面很簡陋,其實思路不難:
1.建一個資料表,字段有,使用者的微網誌id,使用者的Token,删除微網誌的時間
2,當使用者發一條微網誌後,擷取他的微網誌id,Token,時間,存入資料表中
3.每個一段時間,通路資料庫,看是否需要删除某條微網誌
注意:沒有Token,你是沒有權限删除微網誌的
源碼:
代碼我是托管到SAE上的
delete.php
<?php
session_start();
include_once( 'config/config.php' );
include_once( 'config/saetv2.ex.class.php' );
//$c = new SaeTClientV2( WB_AKEY , WB_SKEY ,'2.00d4EJHD0VWUn20d6c64753a0QNrPk' );
//$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
//include_once('test.php');
$link=mysql_connect("xxxxxxxxxxxxxx","xxxxxxxxx","xxxxxxxxxxxx");//換成自己的
mysql_query("SET NAMES utf8");
mysql_select_db("app_snapchat",$link);
$time=time()+30;
$query="select * from snapchat_info where time<$time";
$result=mysql_query($query);
while($row=mysql_fetch_assoc($result))
{
$token=$row['token'];
// $c = new SaeTClientV2( WB_AKEY , WB_SKEY ,'2.00d4EJHD0VWUn20d6c64753a0QNrPk');
$c = new SaeTClientV2( WB_AKEY , WB_SKEY ,$token);
$ret=$c->delete($row['id']);//删除微網誌
//$delete_query="delete from snapchat_info where id=$row['id']";
//mysql_query($delete_query);
echo $row['id']."<br/>";
echo $ret['error']."<br/>";
echo $token;
}
mysql_close($link);
?>
weibo.php
<?php
session_start();
include_once( 'config/config.php' );
include_once( 'config/saetv2.ex.class.php' );
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$ms = $c->home_timeline(); // done
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];//獲得ID
$user_message = $c->show_user_by_id( $uid);//根據ID擷取使用者等基本資訊
$user_weibo=$c->user_timeline_by_id();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/send.css" target="_blank" rel="external nofollow" rel="stylesheet" type="text/css" />
<link href="css/alert.css" target="_blank" rel="external nofollow" rel="stylesheet" type="text/css" />
<title>定時删除你的微網誌,不留痕迹</title>
</head>
<body>
<div class="send_info">
<?=$user_message['screen_name']?>,您好!
</div>
<div class="send_content">
<form action="" method="post">
<textarea name="text" rows="30" cols="30" class="send_text"></textarea><br/>
<input type="text" class="send_time" name="delete_time">
<div class="send_desc">分鐘後,自動删除</div>
<input type="submit" class="u-btn send_button" value="釋出">
</form>
</div>
<?php
if(isset($_REQUEST['text'])) {
$ret = $c->update( $_REQUEST['text'] ); //發送微網誌
if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
echo "<p>發送失敗,錯誤:{$ret['error_code']}:{$ret['error']}</p>";
} else {
//echo "<p>發送成功</p>"+$ret['id'];
echo "<div class=\"m-layer z-show\"><table><tbody><tr><td>
<article class=\"lywrap\">
<section class=\"lyct\">
<p>發表成功,等待重新整理</p>
</section>
</article></td></tr></tbody></table>
</div>
";
echo "<script type='text/javascript'>document.location.href='http://snapchat.sinaapp.com/test.php'</script>";
}
$ret_id=$ret['id'];//微網誌ID
$time=time();//發送微網誌的時間
$delete_time=$_REQUEST['delete_time']*60+$time;
$token=$_SESSION['token']['access_token'];
$text=$_REQUEST['text'];
$link=mysql_connect("xxxxxxxxxxxxxx","xxxxxxxxx","xxxxxxxxxxxx");//換成自己的
mysql_query("SET NAMES utf8"); mysql_select_db("app_snapchat",$link); $query="insert into snapchat_info(num,id,text,token,nowtime,time) values('','$ret_id','$text','$token','$time','$delete_time')"; mysql_query($query); // $sql=mysql_query("insert into 'snapchat_info' (num,id,time) values('','4','2')",$link); mysql_close($link); // $ret=$c->delete(3590318362743084); }?><!---------------------------------------------------><?php if( is_array( $user_weibo['statuses'] ) ): ?><?php foreach( $user_weibo['statuses'] as $item ): ?> <div class="weibo_list"><div class="weibo_content"><?=$item['text'];?></div> <div class="weibo_time">---<?=$item['created_at'];?></div> </div> <?php endforeach; ?><?php endif; ?> </body></html>
config.yaml
name: snapchat
version: 1
accesskey: j2o2ly5moj
cron:
- description: test1
url: delete.php
schedule: every 6 mins
timezone: Beijing
我的是每隔六分中更新下
代碼很亂,大家可以重構下