首先感谢SAE提供了这么好的一个云计算平台,无论是在功能或服务上,个人都是很喜欢的。
进入主题,首先介绍一下,微博爱好者证书工具。
开发语言:PHP
用到的SAE服务:Storage
应用介绍:生成个人专属的微博爱好者证书,证书包含微博昵称、头像、证书编号。文件有:
1.index.php
2.app.php
3.callback.php
4.config.php
5.sae_checker_7b7d1ecf8a.php
6.saetv2.ex.class.php
7.style.css
8.zs.jpg
9.weibo_login.png
接下来,附上代码了。
1.index.php
<!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" />
<title>MicroBlog爱好者证书-Powered by 齐哥</title><link href="./style.css" rel="stylesheet" type="text/css" />
</head>
<body><div class="header"><div class="head">MicroBlog爱好者证书生成系统</div></div> <div class="box"> <!-- 授权按钮 --> <div class="banner"><b>登录</b></div> <center><a href="https://api.weibo.com/oauth2/authorize?client_id=3665375300&redirect_uri=http%3A%2F%2Ffusonghui.sinaapp.com%2Fcallback.php&response_type=code"><img src="weibo_login.png" title="点击进入授权页面" alt="点击进入授权页面" border="0" /></a><p>使用说明:本系统使用OAuth2.0协议进行认证授权,请使用新浪微博账号登录!</p><p>流程:微博账号登录——>进行授权——>系统界面</p></center> </div> <div class="footer"><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=123484774&site=qq&menu=yes">在线反馈</a><span class="s1">Copyright©2014 nethuige </span><span> Powered by 齐哥</span></div>
</body>
</html>
2.app.php
PHP代码
<?php
session_start();
include_once( 'config.php' );
include_once( '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'];
$user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息 $user_message:数组名
$user_img = $user_message['avatar_large'];//获取大头像地址
$user_name = $user_message['screen_name'];
$user_id = $user_message['id'];//获取用户ID
$imageurl="zs.jpg";//初始化头像路径
$s = new SaeStorage();//创建一个SaeStorage对象
$anniu="disabled";//初始化发布证书至微博按钮为禁止
?>
<!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">
<html xmlns:wb="http://open.weibo.com/wb">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>微博爱好者证书-Powered by 辉哥</title>
<link href="./style.css" rel="stylesheet" type="text/css" />
<script src="http://tjs.sjs.sinajs.cn/open/api/js/wb.js" type="text/javascript" charset="utf-8"></script><!--微博加关注组件JS-->
</head>
<body><div class="header"><div class="head">MicroBlog爱好者证书生成系统</div></div>
<div class="main">
<div class="addfollow">
<wb:follow-button uid="1804553177" type="red_3" width="100%" height="24" ></wb:follow-button><!--微博加关注代码-->
</div>
<!-- 证书生成 -->
<?php
if(isset($_REQUEST['dmup']))
{
$im = imagecreatefromjpeg("./zs.jpg");
$userimg = imagecreatefromjpeg($user_img);
$color = imagecolorallocate($im,0,0,255);
$color1 = imagecolorallocate($im,0,255,0);
imagettftext($im,25,0,320,300,$color,SAE_Font_MicroHei,$user_name);//第二个参数是指字号,第三个参数指倾斜度,第四、五个参数分别指X、Y轴坐标。
imagettftext($im,15,0,550,600,$color1,SAE_Font_MicroHei,"证书编号:".time());
imagecopy($im,$userimg,708,140,0,0,180,180);
imagejpeg($im,SAE_TMP_PATH.$uid.".jpg");//先写入SAE临时文件夹
imagedestroy($im);//释放
$s->upload("你的 saestorage domain name", $uid.".jpg", SAE_TMP_PATH.$uid.".jpg");//将临时文件夹下的文件上传至Storage
$imageurl = $s->getUrl("你的 saestorage domain name",$uid.".jpg");//获取该用户在Storage内的图片地址
echo "<center><font color='red'>恭喜您,证书生成成功!马上发布此证书到微博晒一晒吧吧!</font></center>";
$anniu=" ";
}
?>
<div class="welcome">
<font color="#EF911F"><strong><?php echo $user_name; ?></strong></font>,您好!<br/><center>欢迎使用“微博爱好者证书生成”,辉哥祝您生活愉快,玩得开心!</center>
</div>
<div class="buttonpos">
<form action="" method="post">
<input type="submit" value="生成证书" name="dmup" class="button" onMouseOver="this.style.backgroundColor='#336699'" onMouseOut="this.style.backgroundColor='#53ADCF'"/>
<input type="submit" value="发布此证书到微博" name="publish" class="button" onMouseOver="this.style.backgroundColor='#336699'" onMouseOut="this.style.backgroundColor='#53ADCF'" <?php echo $anniu; ?>/>
</form>
</div>
<?php
if( isset($_REQUEST['publish']) ) {
$textnews = "小伙伴们,我是不是碉堡了?获得了“微博爱好者证书”,晒晒证书,哈哈!@_____辉哥 应用地址:http://fusonghui.sinaapp.com ";
$imageurl = $s->getUrl("你的 saestorage domain name",$uid.".jpg");//获取该用户在Storage内的图片地址
$retn = $c->upload($textnews,$imageurl); //发送图片微博
if ( isset($retn['error_code']) && $retn['error_code'] > 0 ) {
echo "<div class='result'><center>发布到微博失败,错误信息:{$retn['error_code']}:{$retn['error']}</center></div>";
} else {
echo "<div class='result'><center>恭喜您,发送成功啦!"."<a href='http://weibo.com/".$user_id."'"." target='_blank'"."/>马上去查看</a>"."</center></div>";
}
}
?>
<div class="imgpos">
<br /> <img src="<?php echo $imageurl ?>" class="img"/>
</div>
</div> <div class="footer"><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=511205380&site=qq&menu=yes">在线反馈</a><span class="s1">Copyright©2014 nethuige </span><span> Powered by 辉哥</span></div>
</body>
</html>
3.config.php
PHP代码
<?php
header('Content-Type: text/html; charset=UTF-8');
define( "WB_AKEY" , '你的WB_AKEY' );
define( "WB_SKEY" , '你的WB_SKEY' );
define( "WB_CALLBACK_URL" , 'http://你的 domain name/callback.php' );
?>
4.callback.php
PHP代码
<?php
header('Content-Type: text/html; charset=UTF-8');
define( "WB_AKEY" , '你的 WB_AKEY ' );
define(
"WB_SKEY" , '你的 WB_SKEY' );
define( "WB_CALLBACK_URL" , 'http://your domain/callback.php' );
?>
剩下的就是新浪微博开放平台中微博登入的PHPSDK中的类文件以及SAE中Storage的类文件了。这里我就不附上了。自行下载即可。或下载下面的完整源代码包。
代码中需要修改的替换成自己的信息即可。如果有不知道的地方可以问我。
也欢迎大家提提建议,完善这个小应用,嘿嘿。
此应用分享给SAE的新手们。一起互相学习。互相讨论。共同进步
网盘下载:http://pan.baidu.com/s/1kUdT4Vl
演示截图: