WP7 SDK说明文档

跳转到: 导航, 搜索
(常用微博数据请求)
(设置SDK所需参数)
第206行: 第206行:
 
SDK使用及修改必须遵守微博开发者协议,以及相关开源软件协议。
 
SDK使用及修改必须遵守微博开发者协议,以及相关开源软件协议。
 
使用SDK的各功能前,需要先设置SDK所需的常量。其中AppKey和AppSecret需要http://open.weibo.com申请, RedirectUri为应用地址,在我的应用中可以编辑、UserAgent为UA值。
 
使用SDK的各功能前,需要先设置SDK所需的常量。其中AppKey和AppSecret需要http://open.weibo.com申请, RedirectUri为应用地址,在我的应用中可以编辑、UserAgent为UA值。
 +
<pre>// 此处使用自己 AppKey 和 AppSecret,未经
 +
//审核的应用只支持用申请该Appkey的帐号来获取数据
 +
SdkData.AppKey = "";
 +
SdkData.AppSecret = "";
 +
 +
// 您app设置的重定向页,必须一致
 +
SdkData.RedirectUri = "";
 +
</pre>
  
 
=== OAuth鉴权===
 
=== OAuth鉴权===

2012年2月10日 (五) 16:12的版本

目录

概述

新浪微博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 默认需要发送的图片本地地址
Messaget 微博文字
TitleText 窗口需要显示的标题


方法 作用
Show() 显示发送微博界面


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事件将被通知,我们此时可以做隐藏或退出该视图,或跳转到其它页面。

    • 界面效果:
    • 示例代码:

2、客户端方式

    • 获取access_token
    • 利用令牌刷新

发送/分享微博界面

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

界面效果:


示例代码:


常用微博数据请求

使用SdkCmdBase的子类作为参数包传入接口所需参数。 实例代码:

其它数据请求

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

实例代码:


返回数据处理及错误处理

错误类型


如果errCode为SdkErrCode.ERR时,访问服务器时发送错误。此时错误码会保存在specificCode字段。错误码的详细意义请参见:http://open.weibo.com/wiki/Help/error

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


问题反馈

如果您在调用此SDK上有问题,请先参考我们提供的调用范例WeiboSdkSample工程代码,并且WeiboSDK工程本身我们是开源的,这样方便大家了解这个SDK的工作原理,但我们不推荐您修改WeiboSDK工程中的代码,因为随着SDK开发包的升级维护,我们会对这个工程代码进行同步升级。如果有问题可在微博上发含“@预备影帝” 加具体问题内容,或者找到我的微博地址(http://weibo.com/luckytime) 后私信我。 也可以直接加入开发者交流微群http://q.weibo.com/381841 进行交流。