使用UniWeibo实现Unity3d里分享到新浪微博功能
UniWeibo是一款跨平台的新浪微博SDK For Unity3d,支持Android, iOS, PC, MAC,使用它,只需要写一套代码就可以支持多个平台了。
下面是使用例子:
2 {
3 OAuth oauth = Authorize();
4 //授权成功了。调用接口。
5 Sina = new Client(oauth);
6 TestStatuses();
7 }
8
9 OAuth Authorize()
10 {
11 OAuth o = new OAuth(AppKey, AppSecrect, string.Empty, null);
12 o.CallbackUrl = CallbackUrl;
13 //if login success
14 if(o.ClientLogin(UserName, Password)){
15 return o;
16 }
17 else{
18 return null;
19 }
20
21 }
22
23 //发布一条微博
24 void TestStatuses(){
25 try
26 {
27 var result = Sina.API.Statuses.Update(string.Format("我用UniWeibo 发布了一条微博,欢迎关注@UniSocial http://unisocial.sinaapp.com Time: {0}", DateTime.Now.ToShortTimeString()));
28 }
29 catch (WeiboException ex)
30 {
31 Debug.Log("出错啦!"+ex.Message);
32 }
33 debugText.text = "发布成功,请登录微博查看。";
34 }
35 //异步发布一条微博
36 void TestStatusesAsync(){
37 try
38 {
39 debugText.text = "非主线程无法对guitext进行更改,请查看log实时监测数据。";
40 Sina.AsyncInvoke<UniWeibo.Entities.status.Entity>(
41 //第一个代理中编写调用API接口的相关逻辑
42 delegate()
43 {
44 Debug.Log("发送发布微博请求...");
45 //System.Threading.Thread.Sleep(8000); //等待8秒
46 return Sina.API.Statuses.Update(string.Format("我用UniWeibo 发布了一条微博,欢迎关注@UniSocial http://unisocial.sinaapp.com Time: {0}", DateTime.Now.ToShortTimeString()));
47 },
48 //第二个代理为回调函数,异步完成后将自动调用这个函数来处理结果。
49 delegate(AsyncCallback<UniWeibo.Entities.status.Entity> callback)
50 {
51 if (callback.IsSuccess)
52 {
53 Debug.Log( "发布微博成功" + callback.Data.CreatedAt);
54 }
55 else
56 {
57 Debug.Log("发布微博失败,异常:" + callback.Error);
58 }
59 }
60 );
61 }
62 catch (WeiboException ex)
63 {
64 Debug.Log("出错啦!"+ex.Message);
65 }
66
67 }