[转]如何把一个Windows Phone 7 Twitter应用转换成新浪微博客户端
2010年12月01日
家也许知道,我最近被开心拉下了水,一直在新浪微博灌水,欢迎大家去拍砖: Windows Phone 7推出后不久,就买了一个三星Focus牌手机,可惜无法登录新浪微博的手机版,登录时得到这样的错误:
Can’t download file! Windows Phone doesn’t support .php files
直觉是微博的登录网页也许没设置好MIME类型。
所以在想也许应该写个客户端,找了一下,博客园有几篇文章,用的都是Basic Authentication (意味着你需要记录用户的帐号和密码,而且每次访问时都要发送帐号/密码)。新浪推荐使用oAuth,也提供了一个网友维护的基于OAuth认证的C# SDK,不是很喜欢。想到新浪微博的API与Twitter非常相似,所以想找一个.NET或Windows Phone 7 Twitter应用。找到了微软的Sam Jarawan写的博客系列《Building a ‘real’ Windows Phone Twitter App》和他的Twitt应用:
http://samjarawan.blogspot.com/2010/10/building-re al-windows-phone-twitter-app_07.html
发现真的很容易转成可以访问新浪微博的客户端。现将转换步骤列出如下(假定你已经安装了Windows Phone 7开发工具等,也申请了新浪微博应用的App Key和Secret Key):
1. 去 http://twitt.codeplex.com/ 下载Twitt Part 7应用源码
2. 在VS2010中打开。修改Common目录下的TwitterSettings类,把其中的Rest URLs改成新浪微博的(参考 http://open.t.sina.com.cn/wiki/index.php/API%E6%96 %87%E6%A1%A3),具体为
public static string RequestTokenUri = ““;
public static string AuthorizeUri = “>Twitt使用了bing.com作为CallbackUri,你也可以将其改成你自己的URL,在这里我把它改成了自己博客的地址。Twitt用了一个浏览器控件,通过这个URL来获取oauth_token 和 oauth_verifier ,进而获取access_token(细节参看 http://open.t.sina.com.cn/wiki/index.php/Oauth)。
还有几个地方硬写了“http://api.twitter.com”,你要将其改成对应于新浪微博的URL,或者重构一下代码,将所有URL集中在TwitterSettings类中。
3. 重新编译,确认无错。在target下拉框中,选择Windows Phone 7 Emulator,然后按F5。当新浪微博授权页面出现时,输入你自己的新浪微博的帐号和密码,这时会出现:“获取到授权码:。。。。。(6个数字)“,而没有重新定向返回到应用。这好像是新浪微博授权机制的一个小bug,并不记住“/request_token”时传给服务器的callback URL。为解决这个问题,需要在Views目录下TwitterAuthPage类中的TwitterRequestTokenCompleted方法中在if语句前加一行(在此折腾了好久,反复阅读新浪微博文档,也麻烦了宝玉,谢谢宝玉!),
authorizeUrl += “&oauth_callback=” + System.Net.HttpUtility.UrlEncode(TwitterSettings.C allbackUri);
重新编译运行,就没问题了。新浪授权后,也许会得到几个对话框埋怨错误,但点击OK后就没问题了,也可以去settings一列下点击Refresh按钮。就这么简单!
Twitt使用了Hammock for REST(http://hammock.codeplex.com/ )做oAuth认证,这是个非常棒的.NET REST 库,极大地简化了对REST服务的访问,高度推荐!
下面是一张做了一些汉化后的截图:
当然Twitt并没有完全实现微博的功能,但可以作为一个很好的起点。该应用里面涉及的内容很多,建议有兴趣者对Sam Jarawan的七篇文章(作者描写的过程非常详细)从头研究起,跟着做一遍,保证受益多多。
发表评论
-
编译 boost
2012-01-20 00:30 523编译 boost 2011年05月17日 ... -
《Windows核心编程》第一章 读书笔记
2012-01-20 00:29 584《Windows核心编程》第一章 读书笔记 2010年06月 ... -
在windows xp下编译WebKit
2012-01-20 00:29 729在windows xp下编译WebKit 2010年10月2 ... -
Symbian OS S60三种开发环境的搭建,基于C++
2012-01-20 00:29 611Symbian OS S60三种开发环境的搭建,基于C++ ... -
计算机4级5.31---6。30
2012-01-19 01:27 526计算机4级5.31---6。30 2010年06月14日 ... -
多线程和多进程的区别
2012-01-19 01:27 708多线程和多进程的区别 2010年07月20日 很想写点关 ... -
多线程和多进程的区别(小结
2012-01-19 01:27 761多线程和多进程的区别(小结 2011年09月18日 多线 ... -
7月16号 键盘按键失灵? 蓝屏的终极处理?
2012-01-19 01:27 8367月16号 键盘按键失灵? 蓝屏的终极处理? 2011年07 ... -
如何培养一年级学生良好的学习习惯
2012-01-19 01:27 647如何培养一年级学生良好的学习习惯 2011年06月28日 ... -
毕生精力总结的电脑技巧。。
2012-01-17 00:43 391毕生精力总结的电脑技巧。。 2011年10月03日 声 ... -
Android基础知识~入门进阶,一步步走到高手
2012-01-17 00:43 595Android基础知识~入门进 ... -
android linux 基础知识总结(789)
2012-01-17 00:43 406android linux 基础知识总结(789) 2011 ... -
Java Me--丰富多彩的领域中生机勃勃的技术
2012-01-17 00:43 617Java Me--丰富多彩的领域 ... -
一步步安装原版雪豹10.6.3-10.6.6
2012-01-17 00:43 1956一步步安装原版雪豹10.6 ... -
系统调用、POSIX、C库、系统命令和内核函数
2012-01-15 19:32 732系统调用、POSIX、C库、 ... -
pv3d 2.0版本的一篇英文教程翻译 5 基础纹理
2012-01-15 19:32 780pv3d 2.0版本的一篇英文 ... -
papervision3D介绍及入门
2012-01-15 19:32 481papervision3D介绍及入门 2009年11月27日 ... -
Away3D Lite:Others
2012-01-15 19:32 971Away3D Lite:Others 2010年01月05日 ... -
Away3D Lite:ExMD2Cubic
2012-01-15 19:32 659Away3D Lite:ExMD2Cubic 2010年01 ...
相关推荐
新浪微博Windows Phone 7客户端,本人开发的第一个手机应用程序,希望能帮助想要做手机开发却未曾入门的朋友。
本资料主要内容是:基于iOS的新浪微博iPhone客户端的设计与实现的全面讲解。可作为毕业设计的资料。
这是一个ios的新浪微博iphone版的客户端,代码成功运行还需要一个appkey,请大家到新浪微博开发平台申请一个appkey,然后加入到程序文件中名为Url.h的文件中,找到一个apply_url,将里面的“AppKey”替换成你所申请...
网上最常见的IPHONE新浪微博客户端代码。做的很好,和大家分享。
windowsphone7版本的新浪微博
一个新浪微博接入客户端的案例。 实现了新浪微博基本上能实现的一些基本功能,对于第一次对接新浪微博到自己iOS应用的开者来说应该有一定的帮助。 代码没有进行太多的整理,不过条理应该还算是清晰。
新浪微博 android 2.5.0 显示 iphone 客户端
《基于ios开发微博客户端.pdf》,一步一步开发iPhone微博客户端,以新浪微博为例。
###仿新浪微博客户端由于微博开放平台的限制,如果希望在本地运行时能正常获取数据,可以参考新浪微博官方SDK文档的说明修改AppKey等信息。使用的第三方库SDWebImageMJRefresh####实现的主要功能#####1. 首页首页...
新浪微博(显示iphone5客户端版
WindowsPhone8的新浪微博接口SDK c#新浪微博接口SDK 有样例 有Demo 可以查看状态 分享信息
基于IOS的新浪微博iPhone客户端的设计与实现毕业论文.doc
DIY 新浪微博Android客户端 ----用Android手机发送来自iPhone的微博
iPhone微博客户端优化交互设计文档.rp
iphone 新浪微博 示例程序 iphone 新浪微博 示例程序
本书旨在分享强大的Microsoft编程工具(诸如Silverlight、XNA和Visual Studio 2010 Express Edition一类)的使用心得,介绍了如何使用现有的C#和.NET编程技能来开发一些Windows Phone 7应用程序。本书作者团队探讨了...
WeiboSharp 是一个修改自TweetSharp(Twitter的API封装)的新浪微博API的封装。使用T4模板来使得添加新的接口更加容易。它也能作为一个如何使用Hammock封装特定API的例子。 新浪微博将只采用OAuth认证,请参见:...
是支持新浪帐号的一款Android平台手机微博客户端软件,用户可以通过软件直接更新自己的微博客内容,转发,评论,和好友互动,下载图片等等非常方便!节约流量:数据量更小。界面清晰干净,简单中不简约。该软件支持...
新浪微博手机客户端是新浪官方特别打造的,集文字、图片、视频、音频、LBS于一身的全球化社交应用。 新浪微博的手机客户端实现了: 轻松更新浏览你关注的好友、娱乐明星、专家发布的最新微博 即时获取国内外热点...