Revue - Sendy 동기화: 프로젝트 설정 + Revue 호출
이 프로젝트는 오버헤드가 가장 낮고 어딘가에서 호스팅하기 쉽기 때문에 노드 프로젝트로 빌드할 것입니다.
오늘의 목표는 우리가 실행할 수 있는 기본 노드 프로젝트를 갖는 것입니다. 코드를 실행하면 Revue에서 구독하지 않은 모든 사람과 모든 구독자가 나열되어야 합니다.
프로젝트 생성
시작하자.
새 노드 프로젝트를 만듭니다.
# Create folder
mkdir revue-sendy-sync
# Navigate into the folder
cd revue-sendy-sync
# Init new node project
npm init
이제
package.json
파일이 있는 기본 프로젝트가 있어야 합니다.내가 한 첫 번째 작업은 가져오기를 사용할 수 있도록 모듈 유형으로 변경하는 것입니다.
{
"name": "revue-sendy-sync",
"version": "1.0.0",
"type": "module",
...
}
다음으로 할 일은 사용할 패키지를 추가하는 것입니다. 지금까지 우리는 일부 환경 변수가 필요하고 일부 API 호출을 원한다는 것을 알고 있습니다.
사용할 수 있는 패키지는
dotenv
및 node-fetch
입니다.npm i dotenv node-fetch
설치되어 있으면
.env
파일을 정의할 수 있습니다. 이 파일은 환경 변수를 저장하는 데 사용할 수 있습니다.이것을 생성하는 동안
.gitignore
file 을 사용하여 제외해야 합니다. (비밀이 git에 커밋되는 것을 원하지 않습니다!).env
파일 내부에 다음 변수를 추가합니다.REVUE_API_TOKEN={YOUR_TOKEN}
Note: Don't have the token? Read the article on retrieving all the API keys.
그런 다음 필요한 마지막 파일은
index.js
파일입니다. 이것은 수술의 두뇌가 될 것입니다.파일을 생성하고 설치한 패키지를 가져와서 시작합니다.
import dotenv from 'dotenv';
import fetch from 'node-fetch';
dotenv.config();
console.log(`I'm working!`);
이제
node index.js
를 실행하여 이를 실행할 수 있습니다. 그 대가로 "I'm working"이 표시되어야 합니다.Node.js에서 Revue API 호출
첫 번째 소프트웨어부터 시작하겠습니다. Revue API를 호출할 수 있기를 원합니다.
구독 취소 호출부터 시작할 수 있습니다.
확장성을 높이기 위해 이 목적을 위한 사용자 지정 함수를 만들었습니다.
const getRevueUnsubscribers = async () => {
const response = await fetch(
'https://www.getrevue.co/api/v2/subscribers/unsubscribed',
{
headers: {
Authorization: `Token ${process.env.REVUE_API_TOKEN}`,
'Content-Type': 'application/json',
},
method: 'GET',
}
).then((res) => res.json());
return response;
};
보시다시피
node-fetch
패키지를 사용하여 구독 취소 엔드포인트를 요청합니다. 그런 다음 API 토큰을 설정하는 Authorisation
헤더를 전달합니다.Note: This token is loaded from our
.env
file.
반환되면 응답을 유효한 JSON 개체로 변환하고 결국 반환합니다.
그런 다음 스크립트가 호출되면 실행되는 함수를 만들어야 합니다.
이를 즉시 호출 함수 표현식(줄여서 IIFE)이라고 합니다.
(async () => {
const revueUnsubscribed = await getRevueUnsubscribers();
console.log(revueUnsubscribed);
})();
이렇게 하면 자신을 호출하는 함수가 생성되므로 이제 스크립트를 실행할 때 실행됩니다.
그 대가로 Revue에서 구독을 취소한 사람들의 JSON 개체를 콘솔 로그에 기록합니다.
네, 생각보다 간단했습니다. 이미 한 번의 통화가 완료되었습니다.
구독한 사람들을 불러올 호출도 추가해 봅시다.
const getRevueSubscribers = async () => {
const response = await fetch('https://www.getrevue.co/api/v2/subscribers', {
headers: {
Authorization: `Token ${process.env.REVUE_API_TOKEN}`,
'Content-Type': 'application/json',
},
method: 'GET',
}).then((res) => res.json());
return response;
};
그리고 이것을 다음과 같이 IIFE에 추가할 수 있습니다.
(async () => {
const revueUnsubscribed = await getRevueUnsubscribers();
console.log(revueUnsubscribed);
const revueSubscribed = await getRevueSubscribers();
console.log(revueSubscribed);
})();
그것을 시도하고 무슨 일이 일어나는지 봅시다.
좋습니다. 두 API 호출 모두 데이터를 반환하는 것을 볼 수 있습니다.
청소
주의를 기울이는 사람들을 위해 일부repeating code를 만들었습니다. Revue API 호출은 동일하게 보이므로 약간 변경할 수 있습니다.
const callRevueAPI = async (endpoint) => {
const response = await fetch(`https://www.getrevue.co/api/v2/${endpoint}`, {
headers: {
Authorization: `Token ${process.env.REVUE_API_TOKEN}`,
'Content-Type': 'application/json',
},
method: 'GET',
}).then((res) => res.json());
return response;
};
(async () => {
const revueUnsubscribed = await callRevueAPI('subscribers/unsubscribed');
console.log(revueUnsubscribed);
const revueSubscribed = await callRevueAPI('subscribers');
console.log(revueSubscribed);
})();
코드는 여전히 동일한 작업을 수행하지만 이제 하나의 균일한 함수만 활용합니다.
GET
요청으로만 제한되지만 지금은 이것이 바로 우리에게 필요한 것입니다.결론
이 기사에서는 NodeJS에서 Revue API를 호출하는 방법을 설명했습니다.
이 프로젝트를 직접 코딩하여 따라하고 싶다면 이 버전을 GitHub에 업로드했습니다.
다음 글에서는 Sendy API를 호출할 예정이니 잘 살펴보세요.
읽어주셔서 감사합니다. 연결합시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(Revue - Sendy 동기화: 프로젝트 설정 + Revue 호출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/revue-sendy-sync-project-setup-revue-calls-17fm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)