WP7 SDK说明文档

跳转到: 导航, 搜索
(其它微博数据请求)
 
(未显示1个用户的22个中间版本)
第1行: 第1行:
 
==概述==
 
==概述==
新浪微博Windows Phone 7平台官方SDK包提供给第三方开发者OAuth和xAuth两种登录方式、默认的发送/分享微博界面及其它Open API的URL请求,大大简化了第三方集成微博相关服务的难度。当前微博SDK开发包仅支持WP7芒果版Beta2 Refresh SDK开发环境。集成的OPEN API版本为V3版,支持XML和JSON两种数据交换格式,以后会随着OPEN API的版本升级而提高更新的微博SDK包。
+
;微博Windows Phone 7平台官方SDK包提供给第三方开发者OAuth和xAuth两种登录方式、默认的发送/分享微博界面及其它Open API的URL请求,大大简化了第三方集成微博相关服务的难度。当前微博SDK开发包仅支持WP7芒果版Beta2 Refresh SDK开发环境。集成的OPEN API版本为V3版,支持XML和JSON两种数据交换格式,以后会随着OPEN API的版本升级而提高更新的微博SDK包。
  
 
==授权模式==
 
==授权模式==
'''OAuth 授权:'''OAuth是一种常见的授权模式,用户可以更安全放心的使用用户身份,而不必把用户名和密码透露给第三方。而OAuth2.0是从2006年开始设计OAuth协议的下一个版本,OAuth2.0同时提供Web,桌面和移动应用程序的支持,并较1.0相比整个授权验证流程更简单更安全。也是新浪微博开放平台未来最主要的用户身份验证和授权方式。我们推荐用户使用OAuth2.0鉴权方式,微博SDK对OAuth2.0中的授权页方式和客户端方式(又称用户名密码方式)进行了封装,您只需简单的调用即可获得访问微博接口的授权密钥。
+
;'''OAuth 授权:'''OAuth是一种常见的授权模式,用户可以更安全放心的使用用户身份,而不必把用户名和密码透露给第三方。而OAuth2.0是从2006年开始设计OAuth协议的下一个版本,OAuth2.0同时提供Web,桌面和移动应用程序的支持,并较1.0相比整个授权验证流程更简单更安全。也是微博开放平台未来最主要的用户身份验证和授权方式。我们推荐用户使用OAuth2.0鉴权方式,微博SDK对OAuth2.0中的授权页方式和客户端方式(又称用户名密码方式)进行了封装,您只需简单的调用即可获得访问微博接口的授权密钥。
  
  
'''授权页方式:'''微博SDK中的 “AuthenticationView.xaml” 页面已经对OAuth2.0的授权网页的鉴权处理进行了封装。使用方法见:使用”SDK实例使用说明—OAuth鉴权”
+
;'''授权页方式:'''微博SDK中的 “AuthenticationView.xaml” 页面已经对OAuth2.0的授权网页的鉴权处理进行了封装。使用方法见:使用”SDK实例使用说明—OAuth鉴权”
  
  
'''客户端方式:'''使用封装于 ”ClientOAuth” 中的 “GetAccessToken()” 和 “RefleshAccessToken()” 函数,详细用法见接口说明和“SDK实例使用说明”
+
;'''客户端方式:'''使用封装于 ”ClientOAuth” 中的 “GetAccessToken()” 和 “RefleshAccessToken()” 函数,详细用法见接口说明和“SDK实例使用说明”
  
 
==SDK使用说明==
 
==SDK使用说明==
 
===环境安装===
 
===环境安装===
安装Windows Phone 7相关开发环境
+
;安装Windows Phone 7相关开发环境
  
 
===引入所需SDK类库===
 
===引入所需SDK类库===
直接引入dll:
+
;直接引入dll:
 
按默认的开发向导新建自己的开发工程,找到SinaBase.dll、WeiboSdk.dll两个文件并添加对它们的引用。
 
按默认的开发向导新建自己的开发工程,找到SinaBase.dll、WeiboSdk.dll两个文件并添加对它们的引用。
  
 
==接口说明==
 
==接口说明==
接口使用前需进行参数设置,详见 ”设置SDK所需参数”
+
;接口使用前需进行参数设置,详见 ”设置SDK所需参数”
  
 
=== OAuth2.0鉴权--获取access_token、reflesh_token===
 
=== OAuth2.0鉴权--获取access_token、reflesh_token===
接口:ClientOAuth.GetAccessToken(string name, string passWord, OAuth2LoginBack callback)
+
;接口:ClientOAuth.GetAccessToken(string name, string passWord, OAuth2LoginBack CallBack)
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<tr>
 
<tr>
第43行: 第43行:
 
</table>
 
</table>
  
*1、  需向微博开发者平台申请客户端鉴权的权限方能使用。
+
;1、  需向微博开发者平台申请客户端鉴权的权限方能使用。
*2、 Callback回调函数中已经对无网络、服务器发生的错误进行相应的返回。
+
;2、 CallBack回调函数中已经对无网络、服务器发生的错误进行相应的返回。
  
 
===OAuth2.0鉴权--用reflesh_token更新access_token===
 
===OAuth2.0鉴权--用reflesh_token更新access_token===
接口:ClientOAuth. RefleshAccessToken(string refleshCode, OAuth2LoginBack callBack)
+
;接口:ClientOAuth. RefleshAccessToken(string refleshCode, OAuth2LoginBack CallBack)
  
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
第64行: 第64行:
 
</table>
 
</table>
  
*1、 需向微博开发者平台申请客户端鉴权的权限方能使用。
+
;1、 需向微博开发者平台申请客户端鉴权的权限方能使用。
*2、 CallBack回调函数中已经对无网络、服务器发生的错误进行相应的返回。
+
;2、 CallBack回调函数中已经对无网络、服务器发生的错误进行相应的返回。
  
 
===发微博/分享微博界面===
 
===发微博/分享微博界面===
接口:SdkShare.Show()
+
;接口:SdkShare.Show()
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<tr>
 
<tr>
第93行: 第93行:
  
  
Complete 事件返回参数:
+
;Complete 事件返回参数:
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<tr>
 
<tr>
第114行: 第114行:
  
 
===常用微博数据请求===
 
===常用微博数据请求===
接口:SdkNetEngine.RequestCmd(SdkRequestType type, SdkCmdBase data, SdkCallBack callBack)
+
;接口:SdkNetEngine.RequestCmd(SdkRequestType type, SdkCmdBase data, SdkCallBack CallBack)
  
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
第134行: 第134行:
 
</td></tr>
 
</td></tr>
 
</table>
 
</table>
*1、该接口对一些常用微博数据的请求做出封装,用户只需传入类型+赋值好参数的类即可使用,而不用关心具体HTTP的API调用和组包细节。
+
;1、该接口对一些常用微博数据的请求做出封装,用户只需传入类型+赋值好参数的类即可使用,而不用关心具体HTTP的API调用和组包细节。
  
  
*2、该接口支持的功能有:
+
;2、该接口支持的功能有:
  
  
*SDKRequestType.FRIENDS_TIMELINE - 批量获取当前登录用户及其所关注用户的最新微博消息
+
;SdkRequestType.FRIENDS_TIMELINE - 批量获取当前登录用户及其所关注用户的最新微博消息
*'''参数类: cmdNormalMessages'''
+
;'''参数类: cmdNormalMessages'''
  
  
*SDKRequestType.USER_TIMELINE - 批量获取某人的微博
+
;SdkRequestType.USER_TIMELINE - 批量获取某人的微博
*'''参数类: cdmUserTimeline
+
;'''参数类: cdmUserTimeline
  
  
*SDKRequestType.UPLOAD_MESSAGE  - 发送微博
+
;SdkRequestType.UPLOAD_MESSAGE  - 发送微博
*'''参数类: cmdUploadMessage
+
;'''参数类: cmdUploadMessage
  
  
*SDKRequestType.UPLOAD_MESSAGE_PIC –发送带图片的微博
+
;SdkRequestType.UPLOAD_MESSAGE_PIC –发送带图片的微博
*'''参数类: cmdUploadPic
+
;'''参数类: cmdUploadPic
  
  
*SDKRequestType.FRIENDSHIP_CREATE – 关注某用户
+
;SdkRequestType.FRIENDSHIP_CREATE – 关注某用户
*SDKRequestType.FRIENDSHIP_DESDROY – 取消关注
+
;SdkRequestType.FRIENDSHIP_DESDROY – 取消关注
*SDKRequestType.FRIENDSHIP_SHOW – 获取两者关系
+
;SdkRequestType.FRIENDSHIP_SHOW – 获取两者关系
*'''参数类: cmdFriendShip
+
;'''参数类: cmdFriendShip
  
  
*SDKRequestType.AT_USERS - @用户时的联想建议
+
;SdkRequestType.AT_USERS - @用户时的联想建议
*'''参数类: cmdAtUsers
+
;'''参数类: cmdAtUsers
  
 
===其它微博数据请求===
 
===其它微博数据请求===
接口:SdkNetEngine. SendRequest(RestRequest request, SdkCmdBase data,RequestBack callBack)
+
;接口:SdkNetEngine. SendRequest(RestRequest request, SdkCmdBase data,RequestBack CallBack)
  
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
 
<table class="wiki_table" border="0" cellspacing="0" cellpadding="0" style="width:100%">
第187行: 第187行:
 
</table>
 
</table>
  
*1、  该函数要求用户自行传入接口地址和自行对RestRequest组参,这样可以满足你访问大部分微博的接口,具体使用方法见”SDK实例使用说明”中对其介绍
+
;1、  该函数要求用户自行传入接口地址和自行对RestRequest组参,这样可以满足你访问大部分微博的接口,具体使用方法见”SDK实例使用说明”中对其介绍
  
 
==SDK实例使用说明==
 
==SDK实例使用说明==
第204行: 第204行:
 
=== OAuth鉴权===
 
=== OAuth鉴权===
 
'''1、授权页方式'''
 
'''1、授权页方式'''
用户只需设置一些AuthenticationView的事件,然后跳转到该视图页面就可以了。当用户在授权页 ”点击” 授权后OAuth2VerifyCompleted事件将被触发,可以得到access_token。当用户点取消,则OBrowserCancelled事件将被通知,我们此时可以做隐藏或退出该视图,或跳转到其它页面。
+
用户只需设置一些AuthenticationView的事件,然后跳转到该视图页面就可以了。当用户在授权页 ”点击” 授权后OAuth2VerifyCompleted事件将被触发,可以得到Access_token。当用户点取消,则OBrowserCancelled事件将被通知,我们此时可以做隐藏或退出该视图,或跳转到其它页面。
  
**'''界面效果:'''
+
**'''界面效果:'''[http://www.sinaimg.cn/blog/developer/wiki/wp7001.jpg]
{{center|http://www.sinaimg.cn/blog/developer/wiki/WP74.png}}
+
 
**'''示例代码:'''
 
**'''示例代码:'''
 
<pre>private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
 
<pre>private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
第259行: 第258行:
 
'''2、客户端方式'''
 
'''2、客户端方式'''
 
 
**'''获取access_token'''
+
**'''获取Access_token'''
 
<pre>ClientOAuth.GetAccessToken("username", "password", (e1, e2, e3) =>
 
<pre>ClientOAuth.GetAccessToken("username", "password", (e1, e2, e3) =>
 
{
 
{
第306行: 第305行:
  
 
'''界面效果:'''
 
'''界面效果:'''
{{center|http://www.sinaimg.cn/blog/developer/wiki/wp72.jpg}}
+
[http://www.sinaimg.cn/blog/developer/wiki/wp72.jpg]
  
 
'''示例代码:'''
 
'''示例代码:'''
第467行: 第466行:
  
 
==问题反馈==
 
==问题反馈==
*如果您在调用此SDK上有问题,可发送私信到微博地址(http://weibo.com/luckytime)  。
+
;如果您在调用此SDK上有问题,可发送私信到微博地址(http://weibo.com/luckytime)  。
*也可以直接加入开发者交流微群http://q.weibo.com/381841 进行交流。
+
;也可以直接加入开发者交流微群http://q.weibo.com/381841 进行交流。

2014年3月27日 (四) 16:40的最后版本

目录

概述

微博Windows Phone 7平台官方SDK包提供给第三方开发者OAuth和xAuth两种登录方式、默认的发送/分享微博界面及其它Open API的URL请求,大大简化了第三方集成微博相关服务的难度。当前微博SDK开发包仅支持WP7芒果版Beta2 Refresh SDK开发环境。集成的OPEN API版本为V3版,支持XML和JSON两种数据交换格式,以后会随着OPEN API的版本升级而提高更新的微博SDK包。

授权模式

OAuth 授权:OAuth是一种常见的授权模式,用户可以更安全放心的使用用户身份,而不必把用户名和密码透露给第三方。而OAuth2.0是从2006年开始设计OAuth协议的下一个版本,OAuth2.0同时提供Web,桌面和移动应用程序的支持,并较1.0相比整个授权验证流程更简单更安全。也是微博开放平台未来最主要的用户身份验证和授权方式。我们推荐用户使用OAuth2.0鉴权方式,微博SDK对OAuth2.0中的授权页方式和客户端方式(又称用户名密码方式)进行了封装,您只需简单的调用即可获得访问微博接口的授权密钥。


授权页方式:微博SDK中的 “AuthenticationView.xaml” 页面已经对OAuth2.0的授权网页的鉴权处理进行了封装。使用方法见:使用”SDK实例使用说明—OAuth鉴权”


客户端方式:使用封装于 ”ClientOAuth” 中的 “GetAccessToken()” 和 “RefleshAccessToken()” 函数,详细用法见接口说明和“SDK实例使用说明”

SDK使用说明

环境安装

安装Windows Phone 7相关开发环境

引入所需SDK类库

直接引入dll:

按默认的开发向导新建自己的开发工程,找到SinaBase.dll、WeiboSdk.dll两个文件并添加对它们的引用。

接口说明

接口使用前需进行参数设置,详见 ”设置SDK所需参数”

OAuth2.0鉴权--获取access_token、reflesh_token

接口:ClientOAuth.GetAccessToken(string name, string passWord, OAuth2LoginBack CallBack)
参数名称 作用
Name 用户名
PassWord 密码
CallBack 请求数据后的回调
1、 需向微博开发者平台申请客户端鉴权的权限方能使用。
2、 CallBack回调函数中已经对无网络、服务器发生的错误进行相应的返回。

OAuth2.0鉴权--用reflesh_token更新access_token

接口:ClientOAuth. RefleshAccessToken(string refleshCode, OAuth2LoginBack CallBack)
参数名称 作用
RefleshCode 刷新令牌
CallBack 请求数据后的回调
1、 需向微博开发者平台申请客户端鉴权的权限方能使用。
2、 CallBack回调函数中已经对无网络、服务器发生的错误进行相应的返回。

发微博/分享微博界面

接口:SdkShare.Show()
参数名称 作用
AccessToken OAuth获取到Access_token
PicturePath 默认需要发送的图片本地地址
Message 微博文字
TitleText 窗口需要显示的标题


Complete 事件返回参数:
参数名称 作用
Bool IsSendSuccess 判定发送微博是否成功
SdkErrorCode ErrorCode 获取枚举类型的错误代号
String Response 显示返回的详情信息

常用微博数据请求

接口:SdkNetEngine.RequestCmd(SdkRequestType type, SdkCmdBase data, SdkCallBack CallBack)
参数名称 作用
Type 请求数据枚举类型
Data 参数类的对象
CallBack 请求数据后的回调
1、该接口对一些常用微博数据的请求做出封装,用户只需传入类型+赋值好参数的类即可使用,而不用关心具体HTTP的API调用和组包细节。


2、该接口支持的功能有:


SdkRequestType.FRIENDS_TIMELINE - 批量获取当前登录用户及其所关注用户的最新微博消息
参数类: cmdNormalMessages


SdkRequestType.USER_TIMELINE - 批量获取某人的微博
参数类: cdmUserTimeline


SdkRequestType.UPLOAD_MESSAGE - 发送微博
参数类: cmdUploadMessage


SdkRequestType.UPLOAD_MESSAGE_PIC –发送带图片的微博
参数类: cmdUploadPic


SdkRequestType.FRIENDSHIP_CREATE – 关注某用户
SdkRequestType.FRIENDSHIP_DESDROY – 取消关注
SdkRequestType.FRIENDSHIP_SHOW – 获取两者关系
参数类: cmdFriendShip


SdkRequestType.AT_USERS - @用户时的联想建议
参数类: cmdAtUsers

其它微博数据请求

接口:SdkNetEngine. SendRequest(RestRequest request, SdkCmdBase data,RequestBack CallBack)
参数名称 作用
Request RestRequest对象
Data 这里仅需以基类对象形式携带Access_token传入就可以了
CallBack 请求数据后的回调
1、 该函数要求用户自行传入接口地址和自行对RestRequest组参,这样可以满足你访问大部分微博的接口,具体使用方法见”SDK实例使用说明”中对其介绍

SDK实例使用说明

设置SDK所需参数

SDK使用及修改必须遵守微博开发者协议,以及相关开源软件协议。 使用SDK的各功能前,需要先设置SDK所需的常量。其中AppKey和AppSecret需要http://open.weibo.com申请, RedirectUri为应用地址,在我的应用中可以编辑、UserAgent为UA值。

// 此处使用自己 AppKey 和 AppSecret,未经
//审核的应用只支持用申请该Appkey的帐号来获取数据
SdkData.AppKey = "";
SdkData.AppSecret = "";

// 您app设置的重定向页,必须一致
SdkData.RedirectUri = "";

OAuth鉴权

1、授权页方式 用户只需设置一些AuthenticationView的事件,然后跳转到该视图页面就可以了。当用户在授权页 ”点击” 授权后OAuth2VerifyCompleted事件将被触发,可以得到Access_token。当用户点取消,则OBrowserCancelled事件将被通知,我们此时可以做隐藏或退出该视图,或跳转到其它页面。

    • 界面效果:[1]
    • 示例代码:
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
	AuthenticationView.OAuth2VerifyCompleted = (e1, e2, e3) => VerifyBack(e1, e2, e3);
	AuthenticationView.OBrowserCancelled = new EventHandler(cancleEvent);
    //其它通知事件...

    Deployment.Current.Dispatcher.BeginInvoke(() =>
    {
    	NavigationService.Navigate(new Uri("/WeiboSdk;component/PageViews/AuthenticationView.xaml", UriKind.Relative));
    });
}


private void VerifyBack(bool isSucess, SdkAuthError errCode, SdkAuth2Res response)
{
	if (errCode.errCode == SdkErrCode.SUCCESS)
    {
	    if (null != response)
        {
        	App.AccessToken = response.accesssToken;
            App.RefleshToken = response.refleshToken;
        }

        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
        	NavigationService.Navigate(new Uri("/PageViews/SampleTimeline.xaml", UriKind.Relative));
	});
	}
	else if (errCode.errCode == SdkErrCode.NET_UNUSUAL)
	{
        	Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
            	MessageBox.Show("检查网络");
            });
	}
	else if(errCode.errCode == SdkErrCode.SERVER_ERR)
    {
    	Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
        	MessageBox.Show("服务器返回错误,错误代码:" + errCode.specificCode);
        });
    }
    else
    	Debug.WriteLine("Other Err.");
}


2、客户端方式

    • 获取Access_token
ClientOAuth.GetAccessToken("username", "password", (e1, e2, e3) =>
	{
	if (true == e1)
	{
	Debug.WriteLine("accessToken:" + e3.accesssToken);
	Debug.WriteLine("refleshToken:" + e3.refleshToken);
	Debug.WriteLine("expriesIn:" + e3.expriesIn);
	}
	else
	{
	if (e2.errCode == SdkErrCode.NET_UNUSUAL)
	{
	Debug.WriteLine("测试");
	}
	else if (e2.errCode == SdkErrCode.SERVER_ERR)
	Debug.WriteLine("服务器返回错误,错误码:" + e2.specificCode);
	}
});


    • 利用令牌刷新
ClientOAuth.RefleshAccessToken("服务器获取的reflesh_token", (e1, e2, e3) =>
	{
	if (true == e1)
	{
	Debug.WriteLine("accessToken:" + e3.accesssToken);
	Debug.WriteLine("refleshToken:" + e3.refleshToken);
	Debug.WriteLine("expriesIn:" + e3.expriesIn);
	}
	else
	{
	if (e2.errCode == SdkErrCode.NET_UNUSUAL)
	{
	}
	else if (e2.errCode == SdkErrCode.SERVER_ERR)
	Debug.WriteLine("服务器返回错误,错误码:" + e2.specificCode);
	}
});

发送/分享微博界面

微博SDK提供了默认发送/分享微博的界面,既可以自己编写发送界面调用SDK发送方法,也可以直接调用SDK提供的发送界面进行发送。

界面效果: [2]

示例代码:

private void actionButton_Click(object sender, RoutedEventArgs e)
{
SdkShare sdkShare = new SdkShare
{
	//设置OAuth2.0的access_token
	AccessToken = App.AccessToken,
	//AccessTokenSecret = App.AccessTokenSecret,
	PicturePath = "TempJPEG.jpg",
	Message = this.messageTextBlock.Text
};
sdkShare.Completed = new EventHandler<SendCompletedEventArgs>(ShareCompleted);

//show it
sdkShare.Show();
	}
	
	void ShareCompleted(object sender, SendCompletedEventArgs e)
	{
if (e.IsSendSuccess)
	MessageBox.Show("发送成功");
else
    MessageBox.Show(e.Response, e.ErrorCode.ToString(), MessageBoxButton.OK);
}

常用微博数据请求

使用SdkCmdBase的子类作为参数包传入接口所需参数。

  • 实例代码:
cmdFriendShip data = new cmdFriendShip
{
	acessToken = "服务器获取的access_token",
	_sourceScreenName = "预备影帝",
	_screenName = "鲤鱼叔叔"
};

SdkNetEngine net = new SdkNetEngine();
net.RequestCmd(SdkRequestType.FRIENDSHIP_SHOW, data, (e1, e2) =>
{
	if (e2.errCode == SdkErrCode.SUCCESS)
	{
    	Debug.WriteLine(e2.content);
	}
	else if(e2.errCode == SdkErrCode.NET_UNUSUAL)
    {
    	Debug.WriteLine("网络错误");
    }
    else if(e2.errCode == SdkErrCode.SERVER_ERR)
    {
    	Debug.WriteLine("服务器返回错误,错误码:" + e2.specificCode);
    }
});

其它数据请求

此接口可以满足微博平台的大部分http请求,通过设置RestRequest对象的服务器地址、method、和设置Paramers(AddParameter方法)然后传入SendRequest函数,SDK会帮你组包并发送请求。

实例代码:

SdkCmdBase data = new SdkCmdBase
{
    acessToken = "服务器返回的access_token",
};

SdkNetEngine net = new SdkNetEngine();
RestRequest request = new RestRequest();
//设置request
request.Method = WebMethod.Post;
request.Path = "/statuses/update.xml";
request.AddParameter("status", "吹灯,睡觉!");
            
//发送请求
net.SendRequest(request, data, (e1) =>
    {
        if (e1.errCode == SdkErrCode.SUCCESS)
        {
            Debug.WriteLine(e1.content);
        }
        else if (e1.errCode == SdkErrCode.SERVER_ERR)
        {
            Debug.WriteLine("服务器返回错误,错误码:" + e1.specificCode);
        }
        else if (e1.errCode == SdkErrCode.NET_UNUSUAL)
        {
            Debug.WriteLine("当前无网络");
        }
    });

返回数据处理及错误处理

错误类型

public enum SdkErrCode
    {
        //参数错误
        XPARAM_ERR = -1,
        //成功
        SUCCESS = 0,
        //网络不可用
        NET_UNUSUAL,
        //服务器返回异常
        SERVER_ERR,
        //访问超时
        TIMEOUT,
        //用户请求被取消
        USER_CANCEL
    }
  • 如果errCode为SdkErrCode.ERR时,访问服务器时发送错误。此时错误码会保存在specificCode字段。
  • 错误码的详细意义请参见:http://open.weibo.com/wiki/Help/error


处理数据请求时的回调样例代码:

void SdkCallBack(SdkRequestType type, SdkResponse response)
{
	switch(type)
	{
		case SdkRequestType.FRIENDS_TIMELINE:
			{
				switch(response.errCode)
				{
					case SdkErrCode.SUCCESS:
						{
							//这里代表正确的接收了服务器返回的数据
							
						}
						break;
					case SdkErrCode.NET_UNUSUAL:
						{
							//网络状况不正常请检查网络
							Debug.WriteLine(“网络状况不正常.”);
						}
						break;
					case SdkErrCode.XPARAM_ERR:
						{
							//参数传递错误
							Debug.WriteLine(string.Format(“参数错误,原因:{0}”, reponse.content));
						}
						break;
					case SdkErrCode.SERVER_ERR:
						{ 
							Debug.WriteLine(string.Format(“服务器访问错误,错误码:{0}”, reponse.specificCode));
						}
						break;
				}
			}
			break;
		case SdkRequestType.FREE_LOOK_OPEN:
			{
				//….
			}
			break;
		default:
			break;
	}
}

问题反馈

如果您在调用此SDK上有问题,可发送私信到微博地址(http://weibo.com/luckytime) 。
也可以直接加入开发者交流微群http://q.weibo.com/381841 进行交流。
文档更新时间: 2014-03-27