在微信公众平台接口开发中,access_token占据了一个很重要的地位,它相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。
同样微信服务器也是通过access_token识别是哪个公众号,以及该公众号是否有权限调用该接口。
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在开发模式中获得,注意调用所有微信接口时均需使用https协议。
access_token开发策略
因为access_token具有每天2000次的访问限制,而access_token又是很重要的属性,调用非常频繁,基本上所有的接口都需要使用access_token来进行访问权限的验证,当频繁调用微信API时,很有可能会超出2000次的限制。因此普遍的解决方案是将一次获取的access_token保存到数据库,在两个小时后再更新数据库,在这两个小时内,所有需要access_token的地方全部到数据库来取。
接口调用请求说明
使用HTTP请求,请求方式为GET:
|
|
请求中附带的参数为:
参数 | 是否必须 | 说明 |
---|---|---|
grant_type | 是 | 获取access_token填写client_credential |
appid | 是 | 第三方用户唯一凭证 |
secret | 是 | 第三方用户唯一凭证密钥,即appsecret |
返回说明
正常情况下,微信会返回下述JSON数据包给公众号:
|
|
参数 | 说明 |
---|---|
access_token | 获取到的凭证 |
expires_in | 凭证有效时间,单位:秒 |
获取粉丝头像
下面我们用获取粉丝头像的例子来演示如何使用access_token。
首先写一个PHP文件,来获取access_token:
|
|
新建另一个PHP文件,首先获取粉丝列表,提取出粉丝的openid组成数组:
|
|
然后利用openid获取粉丝的用户信息:
|
|
最后从用户信息中提取出用户头像的url,并传给iOS客户端:
|
|
在Xcode中创建工程,使用NSURLSession获取PHP服务器传来的包含粉丝头像url的数组,利用url获取粉丝头像,并将其设置为工程中ImageView的Image,这里需要注意的是,UI操作要转到主线程进行:
|
|
最后使用点击事件触发这个方法:
|
|