一个简单的基于PHONEGAP的开源微博客户端
来源:互联网 发布:青岛鹏海软件 编辑:程序博客网 时间:2024/04/29 23:55
教你用sae的云窗还有怎么利用phonegap做weibo登录
原文:http://ftqq.com/2012/04/18/build-a-weibo-client-using-phonegap/
有人说PhoneGap做不了复杂的东西,比如微博客户端。这话对,也不对。因为光是用PhoneGap的标准接口是没办法做OAuth认证的,页面转换几次就不知道跳到哪里了;但是别忘了,PhoneGap拥有强大的插件系统。在GitHub上的PhoneGap插件库中,就有Facebook之类的OAuth2插件。
从4月18日起,新浪移动云的打包器和调试器开始支持微博插件,这让微博客户端开发变得异常简单。
于是我做了一个特别简单的微博客户端(只有登录和读取Feed和@我),然后把它放到了GitHub上。
先放个视频看看效果
这篇文章主要讲怎样把这个简单的客户端换成你的key,让它工作起来,然后你可以以它为基础,修改成你想要的各种客户端。
在继续之前,请更新你的云窗调试器到最新版本。(目前只支持Android,iOS版本测试中)
创建微博开放平台应用
首先进入微博开放平台,创建一个客户端应用。
填好基本信息后,就可以创建一个移动客户端应用了。
创建成功后,进入应用的【基本信息】页面,可以看到app key和app secret。
因为PhoneGap打出来的包很容易被人反向工程,找到里边的key,所以新浪移动云的微博插件里边不直接使用这两个key。
新开一个窗口,进入云窗key加密页面。(稍后这个页面会整合到SAE去)
输入appname,和微博应用【基本信息】页面的两个key值,可以得到新的两个key。把它们记下来。稍后会用到。
然后回到微博开放平台,进入应用的【高级设置】,在【回调地址】页面填上http://appname.sinaapp.com
这个步骤非常重要,很多同学都是因为忘了填写而导致授权失败。
三个必须的东西:
- 加密后的App Key
- 加密后的App Secret
- 填到应用高级信息里边的回调地址
创建SAE移动应用
进入SAE,创建一个移动应用,代码模板选择【默认模板】。
成功创建以后,代码目录会出现一个client文件夹。
获取代码
你可以通过git或者下载链接获取最新的Demo代码,然后打开js/app.js文件,将129行开始的内容换成前文中得到的对应的值。
修改完成后,将Demo代码传到SAE代码目录的client文件夹,然后你就可以通过【云窗调试器】进行调试了。
插件接口简介
这里简单的说下微博插件用法。微博插件在js中的对象为CDV.WB,它有6个方法,分别是:
- CDV.WB.init – 初始化
- CDV.WB.login – 登录
- CDV.WB.logout – 终止会话
- CDV.WB.get – get请求
- CDV.WB.post – post请求
- CDV.WB.upload – 带文件的post请求
详细的范例可以查看【简微】客户端中js/app.js。SAE的官方说明文档已经放出,点这里。
常见问题
1 如果点击登录按钮,没有出现loading… 提示信息的,请确认使用了本文里边提供的【云窗调试器】。其他地方的可能不是最新的,包括sae页面上的。
2 如果提示 /oauth2/authorize”, error_code: 10001, error: system error , 其实就是appkey和appsecret错误,请再次检查app.js中输入的加密后的appkey和appsecret,以及appname是否正确。
3 如果提示 invalid redirect url,是因为app.js中的回调地址和open.weibo.com的应用高级信息页面中的回调地址不一致。
4 如果提示 sorry that page not exists ,也是因为回调地址的问题,记得要加 http://。
5 如果授权后进入微博列表页面,load后又跳回登录页面了,那是因为你的微博应用没通过审核,只能用应用创建人的微博账号测试,要用别人的账号需要在open.weibo.com的应用高级信息页面添加测试用户。
- 一个简单的基于PHONEGAP的开源微博客户端
- 用phoneGap打包一个基于Android的WebApp
- 一个phonegap门外汉的phonegap初体验
- java基于MVC的简单博客系统
- 基于flask实现的简单博客
- 基于Django搭建简单的博客系统
- 基于PhoneGap的Android应用开发[eclipse]
- 基于PhoneGap的Android应用开发
- 基于PhoneGap的iOS平台入门教程
- 基于phonegap开发app的实践
- 基于PhoneGap的iOS平台入门教程
- node建立一个简单的博客
- 第1章 一个简单的博客
- Express入门教程:一个简单的博客
- Express入门教程:一个简单的博客
- 一个简单漂亮的Java博客系统
- Express入门教程:一个简单的博客
- Express入门教程:一个简单的博客
- 秒杀多线程第一篇 多线程笔试面试题汇总
- 在Drupal中添加校验码?
- Enigma所有版本过注册 高版本通过PATCH HWID方式
- xcode4的NSLog中文乱码问题
- struts.xml配置文件
- 一个简单的基于PHONEGAP的开源微博客户端
- 硕博士论文写作:期刊论文与学位论文
- iPhone Map
- paip.http发文汉字乱码变问号的解决
- Java编程中“为了性能”尽量要做到的一些地方
- STDIN_FILENO的作用及与stdin 的区别
- 分析IT行业中Java四大领域
- 一句话实现查找某个结点是否在二叉树里
- CentOS下安装FCITX输入法