组团学

微信公众号-接口凭据

阅读 (463771)

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效

原理:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET发起GET请求

image20200515173421664.png

正确的返回值

{ "access_token":"ACCESS_TOKEN", "expires_in":7200 }

截屏2020051517.36.24.png

错误的返回值

{ "errcode":40013, "errmsg":"invalid appid" }

DJango服务代码实现

myApp/accessToken.py

import time import requests import json class AccessToken: _access_token = { "token":"", "updatatime":time.time() } @classmethod def updateAccessToken(cls, grant_type, appid, secret): url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=%s&appid=%s&secret=%s"%(grant_type, appid, secret) res = requests.get(url) resDit = json.loads(res.content) if resDit["access_token"]: cls._access_token["token"] = resDit["access_token"] cls._access_token["updatatime"] = time.time() @classmethod def getAccessToken(cls, grant_type, appid, secret): if not cls._access_token["token"] or (time.time() - cls._access_token["updatatime"]) >= 6500: # 更新token cls.updateAccessToken(grant_type, appid, secret) return cls._access_token["token"]

myApp/urls.py

from django.urls import path, re_path from myApp import views urlpatterns = [ path(r'index/', views.index), path(r'weixin/', views.weixin), path(r'access/', views.access), ]

myApp/views.py

from django.shortcuts import render, HttpResponse from django.views.decorators.csrf import csrf_exempt import hashlib from myApp.accessToken import AccessToken def index(request): return HttpResponse("sunck is a good man") @csrf_exempt def weixin(request): pass def access(request): access_token = AccessToken.getAccessToken("client_credential", "wxffde55b11cc79754", "84e86527f090d6238ea1c0b96f5fc753") return HttpResponse(access_token)

自有平台获取参数:

截屏2020051518.03.31.png

测试平台获取参数:

截屏2020051518.03.24.png

浏览器地址栏输入:http://39.107.226.105/access/

截屏2020051518.02.06.png

需要 登录 才可以提问哦