[Node.js+Express 위챗 공중번호 개발] 2단계:access_token 인터페이스
1. 인터페이스 구축
지난번 글에서 디렉터리 구조를 자세히 살펴보면 루트 루트는 우리가 node 서비스를 놓고 루트를 정의한 디렉터리이다. 원래users 파일을 생성했는데 일시적인 용도가 크지 않아서 우리는 이 루트를 직접 변경할 수 있다.그림과 같이 getAccessToken을 각각 변경합니다.js.
그리고 우리 앱으로 가자.js에서 입구 설정을 변경합니다.
완료, 파일을 서버에 업데이트합니다$ nodemon npm start
서비스 시작
그리고 서버에 입력: 당신의 ip/get Access Token, 검증해 보세요. 다음 그림과 같으면 축하합니다. 첫 번째 성공입니다!
2. getAccessToken 인터페이스 다시 쓰기
좋아, 지난번에 우리는 이미 인터페이스를 완성했으니, 다음은 이 인터페이스를 보완하자.우선, 위챗의 문서를 먼저 읽는 것을 권장합니다.access 알아보기_token.
1. json 파일 만들기,access_ 저장token
2. js에 json을 도입하고 인터페이스 출력 테스트
3. 데이터 디렉터리에 config를 만듭니다.json은 위챗의 기본 설정 정보를 저장합니다.
이상의 검증 후,config를 계속 만듭니다.기본 구성 정보를 저장하는 json 파일은 다음과 같습니다.{
"token":"WeiChartToken",
"appID":"wx00********396", // appid
"appScrect":"326466*********e18f", // appScrect
"apiDomain":"https://api.weixin.qq.com/",
"apiURL":{
"accessTokenApi":"%scgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"
}
}
4. getAccessToken.js 파일 내용
var express = require('express');
var https = require('https'); // https
var util = require('util'); // util
var fs = require('fs'); // fs
var router = express.Router();
var accessTokenJson = require('../data/access_token');
var configJson = require('../data/config');
/* GET users listing. */
router.get('/', function(req, res, next) {
new Promise(function(resolve,reject) {
//
var currentTime = new Date().getTime();
//
var url = util.format(configJson.apiURL.accessTokenApi,configJson.apiDomain,configJson.appID,configJson.appScrect);
// access_token
if (accessTokenJson.access_token === "" || accessTokenJson.expires_time < currentTime) {
https.get(url, function(res){
var buffer = [],result = "";
// data
res.on("data",function(data){
buffer.push(data);
});
res.on("end",function() {
// result = JSON.stringify(Buffer.concat(buffer,buffer.length).toString('utf-8'));
var body = Buffer.concat(buffer);
result = JSON.parse(body);
if (body.indexOf("errcode") < 0) {
accessTokenJson.access_token = result.access_token;
accessTokenJson.expires_time = new Date().getTime() + (parseInt(result.expires_in) - 200) * 1000;
//
fs.writeFile('/home/nodeApp/wxApp/data/access_token.json', JSON.stringify(accessTokenJson));
// access_token
resolve(accessTokenJson.access_token);
} else {
//
resolve(result);
}
})
}).on('error',function(err){
reject1(err);
});
} else {
// access_token
resolve(accessTokenJson.access_token);
}
}).then(function(data) {
res.send(data);
});
});
module.exports = router;
아래와 같은 정보를 보면 완성된다
여러분의 보충을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 코드로 위챗 페이지 스크롤 방지 (핵심 코드)
인터넷에서 페이지가 상단이나 하단으로 미끄러지는 것을 방지할 수 있는 회색 바탕을 찾았습니다.
다음은 핵심 코드를 여러분께 참고하도록 공유합니다!
내 핵심 코드:
상기 코드는 여러분께 소개해 드린 위챗 페이지의 스크...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
좋아, 지난번에 우리는 이미 인터페이스를 완성했으니, 다음은 이 인터페이스를 보완하자.우선, 위챗의 문서를 먼저 읽는 것을 권장합니다.access 알아보기_token.
1. json 파일 만들기,access_ 저장token
2. js에 json을 도입하고 인터페이스 출력 테스트
3. 데이터 디렉터리에 config를 만듭니다.json은 위챗의 기본 설정 정보를 저장합니다.
이상의 검증 후,config를 계속 만듭니다.기본 구성 정보를 저장하는 json 파일은 다음과 같습니다.
{
"token":"WeiChartToken",
"appID":"wx00********396", // appid
"appScrect":"326466*********e18f", // appScrect
"apiDomain":"https://api.weixin.qq.com/",
"apiURL":{
"accessTokenApi":"%scgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"
}
}
4. getAccessToken.js 파일 내용
var express = require('express');
var https = require('https'); // https
var util = require('util'); // util
var fs = require('fs'); // fs
var router = express.Router();
var accessTokenJson = require('../data/access_token');
var configJson = require('../data/config');
/* GET users listing. */
router.get('/', function(req, res, next) {
new Promise(function(resolve,reject) {
//
var currentTime = new Date().getTime();
//
var url = util.format(configJson.apiURL.accessTokenApi,configJson.apiDomain,configJson.appID,configJson.appScrect);
// access_token
if (accessTokenJson.access_token === "" || accessTokenJson.expires_time < currentTime) {
https.get(url, function(res){
var buffer = [],result = "";
// data
res.on("data",function(data){
buffer.push(data);
});
res.on("end",function() {
// result = JSON.stringify(Buffer.concat(buffer,buffer.length).toString('utf-8'));
var body = Buffer.concat(buffer);
result = JSON.parse(body);
if (body.indexOf("errcode") < 0) {
accessTokenJson.access_token = result.access_token;
accessTokenJson.expires_time = new Date().getTime() + (parseInt(result.expires_in) - 200) * 1000;
//
fs.writeFile('/home/nodeApp/wxApp/data/access_token.json', JSON.stringify(accessTokenJson));
// access_token
resolve(accessTokenJson.access_token);
} else {
//
resolve(result);
}
})
}).on('error',function(err){
reject1(err);
});
} else {
// access_token
resolve(accessTokenJson.access_token);
}
}).then(function(data) {
res.send(data);
});
});
module.exports = router;
아래와 같은 정보를 보면 완성된다
여러분의 보충을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 코드로 위챗 페이지 스크롤 방지 (핵심 코드)인터넷에서 페이지가 상단이나 하단으로 미끄러지는 것을 방지할 수 있는 회색 바탕을 찾았습니다. 다음은 핵심 코드를 여러분께 참고하도록 공유합니다! 내 핵심 코드: 상기 코드는 여러분께 소개해 드린 위챗 페이지의 스크...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.