豆瓣客户端(二)获取用户信息和搜索用户

之前写了豆瓣客户端(一)获取授权码和访问令牌后,就开始学习iOS7 TextKit方面的内容了,在前两天看Text Kit 看得无聊以后,又再回来写自己一直都很感兴趣的豆瓣客户端。途中遇到了各种各样的问题,先来小小吐槽一下:豆瓣的开发文档真是坑爹极了,基本上没有步骤可言,有时候就是一句带过,来个只能意会不能言传,难怪那么少人做豆瓣客户端,可能这个客户端赚不了什么钱吧。幸好以前有人也遇到过这些问题,在参考了他们的文章再结合一些实践和修改,最后终于掌握了调用豆瓣API的基本方法,下面让我仔细道来。
一)通过access_token判断程序加载后的根视图页面

    // 获取用NSUserDefaults保存的access_token
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSString *access_token = [userDefaults objectForKey:udAccess_token];
    if (!access_token) {
        self.window.rootViewController = self.authvc; // 如果未获得access_token,则转到授权页面
    }
    else {
        self.window.rootViewController = self.uvc; // 否则转到个人主页页面
    }

这里没有考虑到access_token过期的问题,我会改进的。

简单说一下NSUserDefaults。

NSUserDefaults用于存取程序的配置信息,使用起来非常简便,不用另外写存取的方法:

保存数据:

 // 保存access_token
NSString *access_token = [rspDic objectForKey:@"access_token"];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:access_token forKey:udAccess_token]; // 设置key-object对并使用NSUserDefaults对象保存
[userDefaults synchronize]; // 同步方法,这个是必须的

获取数据:

// 获取用NSUserDefaults保存的access_token
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *access_token = [userDefaults objectForKey:udAccess_token];

如果要实现退出登录的功能,也非常简单,只需要设置NSUserDefaults中对应udAccess_token这个key的value为nil即可:

        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults setObject:nil forKey:udAccess_token];

二)获取授权用户的简版信息

在(一)拿到access_token后,开发文档中介绍的接下来就是获取授权用户信息,参见:点击打开链接。

获取用户信息的API参见:点击打开链接。其权限必须包括scope: douban_basic_common。

这是从开发文档中摘取的内容:

豆瓣Connect通过以下两个步骤来完成认证授权.

请求用户授权,拿到授权过后的authorize_code
使用授权后的authorize_code,来获取access_token
在完成认证之后,您可以使用获取的Access Token,来获取已授权的用户信息,以便完成和您网站的用户对接工作.

获取当前授权用户信息

通过访问以下url来获取授权用户的信息

GET https://api.douban.com/v2/user/~me

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值