现在越来越多的客户端程序都会加入社交平台的分享功能,国内来说人人网和新浪微博是比较常用的两家,因此将这两家提供的WP7SDK进行了一个封装,能更简单的方便使用。
1. 添加ShareManager的Lib工程。
2."Add References"。添加引用。
3.添加微博使用的图标。
将\ShareManagerLib下的WeiboIcons文件夹拷到工程里,并将三张图片的属性的Build Action设置为Content。
4.设置申请好的人人网和新浪微博的AppID、AppKey等需要的验证信息(详细步骤请访问人人网和新浪微博的开放平台)。
5.API介绍
/// <summary> /// 获取到新的授权信息的委托/事件 /// </summary> /// <param name="error">错误信息,为空表示授权成功</param> /// <param name="channel">人人网/新浪微博</param> /// <param name="isCancel">是否取消了此次授权</param> public event NewAuthCompleted OnNewAuthCompleted; /// <summary> /// 清除授权信息的委托/事件 /// </summary> /// <param name="channel">人人网/新浪微博</param> public event CancelAuthCompleted OnCancelAuthCompleted; /// <summary> /// 判断用户授权状态的方法 /// </summary> /// <param name="channel">人人网/新浪微博</param> /// <returns>用户授权是否有效</returns> public bool IsAccessTokenValid(ShareChannel channel); /// <summary> /// 获取新的授权的方法 /// </summary> /// <param name="page">当前显示页面</param> /// <param name="channel">人人网/新浪微博</param> public void NewAuth(PhoneApplicationPage page, ShareChannel channel); /// <summary> /// 清除授权信息的方法 /// </summary> /// <param name="channel">人人网/新浪微博</param> public void CancelAuth(ShareChannel channel, bool needShowMassageBoxHint = true); /// <summary> /// 一键分享照片接口 /// </summary> /// <param name="channel">人人网/新浪微博</param> /// <param name="stream">照片数据</param> /// <param name="text">分享的文字内容</param> /// <param name="title">新浪微博的显示标题</param> public void PublishPhoto(ShareChannel channel, Stream stream, string text, string title = null); /// <summary> /// 一键分享照片到人人网 /// </summary> /// <param name="image">照片数据</param> /// <param name="text">分享的文字内容</param> public void PublishPhotoToRenren(BitmapImage image, string text); /// <summary> /// 一键分享照片到新浪微博 /// </summary> /// <param name="photoPath">照片的路径(路径为独立存储(IsolatedStorageFile)中的照片路径,必须确保对应路径有图片,否则会有异常)</param> /// <param name="text">分享的文字内容</param> /// <param name="title">显示标题</param> public void PublishPhotoToWeibo(string photoPath, string text, string title = null); /// <summary> /// 打开页面显示支持的分享渠道并进行授权控制或分享 /// </summary> /// <param name="page">当前显示页面</param> /// <param name="pageHeader">分享页面的标题,null显示默认标题</param> /// <param name="channels">分享页面显示的分享渠道</param> /// <param name="stream">照片数据</param> /// <param name="text">分享的文字内容</param> /// <param name="title">新浪微博的显示标题</param> /// <param name="subject">电子邮件的主题</param> public void PublishPhoto(PhoneApplicationPage page, string pageHeader, ShareChannel[] channels, Stream stream, string text, string title, string subject);
6.分享页面的截图
7.示例代码以及所需资源可以到下面地址下载。